魔法サウンド
コージ君とヤスコちゃんが魔法の楽器を交換しました。お互い家に帰って弾こうとしました。しかしその楽器には秘密があるんです。
ある音を弾くと魔法のような素晴らしい音がします。
でも、他の音を弾くと楽器ごとぶっ壊れます。
その音は所有者しか知らないので、楽器を交換した今となってはお互い危険な状態です。お互い信頼できるかどうかは不明です。表面的には笑顔でも内心では敵対してる可能性もあります。
交換
お互いの楽器の「秘密の音が何か」が書いてあるデータがネット上に転がっています。当然そのデータは暗号化されています。その暗号を解くためのパスワードが必要です。しかもそのパスワードを1回でも間違うとデータは消えてしまいます。楽器の所有者は当然そのパスワードを知っています。だからお互い正しいパスワードを交換すればいい訳です。
ちょっと回りくどくなってきましたが大丈夫ですか?
問題発生
- コージ君は悪いヤツなのでヤスコちゃんからパスワードをゲットした瞬間「は?僕のは渡さないよ」と逃げる可能性があります。
- ヤスコちゃんはコージ君のそういう所を見越してウソのパスワードを教えるかもしれません。
- 第三者のアミさんを介しても、コージ君とグルかもしれませんし、ヤスコちゃんとガールズ同盟を組んでるかもしれません。
解決法
数学を使わず簡単に説明しますが日本の中一レベルは分かっておいて下さい。
- ①ヤスコちゃんは2つの数を選び、その2つの数を掛けた数をコージ君に送ります。その数は素因数分解できないとします。
- ②コージ君は二乗した余りがヤスコちゃんから送られてきた数になるような数字を適当に選んで、その二乗した数をヤスコちゃんに送ります。
- ③ヤスコちゃんはまた別に二乗した余りが自分が送った数になるような数字を適当に選んでコージ君に送ります。
- ④コージ君は自分が適当に選んだ数からヤスコちゃんが適当に選んだ数を引いた数と②で送られてきた数の最大公約数を求めます。
- ⑤そうすると①の2つの数のどちらかになるのでコージ君は②で自分で選んだ数を素因数分解できますね。ま、半分の確率でw。
- ⑥ヤスコちゃんはコージ君が②で選んだ数自体は知らないし、コージ君が素因数分解できてるかどうかも分かりません。
- ⑦コージ君が素因数分解できたら自分のパスワードに0を足して、できなかったら1を足してヤスコちゃんに送りたいけど、このままだと簡単すぎるのでちょいとむずい直和空間ってのにして送ります(ゴメンwこの部分だけ簡素化できなかった)
- ⑧ヤスコちゃんは自分のパスワードを暗号化して①の2つの数が分かった場合のみ暗号が解けるようにしてコージ君に送ります。
- ⑨今度は①から⑧の流れをコージ君スタートでやります。
- ⑩そうするとお互いがパスワードを知るか、二人とも知らないかの状態が作れます。
- ⑪お互い魔法の音を出すことができましたとさ。めでたし・めでたし
まとめ
これは1981年のラビンの紛失通信という方法でデメリットがあるんです。もうちょい踏み込んだことを私達は知らず知らずに使ってます。ま、前提知識として音楽家の皆さんにイプシロン程度の貢献ができれば嬉しいです。
(イプシロンって何ですか?と思ったあなた・・・「ちょっと」っという意味で私達暗号マニアが使う親父ギャグです。)
津本幸司
さあ、ディスコードでは音楽制作盛り上がってきました!皆さんも参加して下さいね。そして、SNS投稿したらお金をイプシロン程度(またゆ〜とる)差し上げるようにもしました。さらに/rank と打てば自分のレベルが分かりますよぉ。投稿すればするほどレベルが上がるよぉ。上がったらどうなるかはお楽しみにぃ♫
discord.ggあ、トータル・ギター・メソッドⓇは持っておかないと緊急時に私に質問できないですよぉww