いぬおさんのおもしろ数学実験室

おいしい紅茶でも飲みながら数学、物理、工学、プログラミング、そして読書を楽しみましょう

デフィー・ヘルマン鍵交換を例え話で

世界でもっとも強力な9のアルゴリズム

 面白い本でした。強くお勧めします。特にデフィー・ヘルマン鍵交換の例え話が気に入りました。もちろん例え話ですから限界はありますが、ポイントをよく捉えていて驚きました。ときどき生徒にも話します。面白がる子もいます。今回はこれを紹介します。今、手元に本がありませんが、記憶で書きます。なお、デフィー・ヘルマン鍵交換については既に記事にしました。 

www.omoshiro-suugaku.com

これは離れたところにいる2人が暗号の鍵を安全に共有するための手順です。暗号にはいくつも種類があり、暗号で通信する2人が共通の鍵を持っている必要のあるものがあります。……というか、普通は暗号と言えば2人で共通の鍵、みたいに思う人が多分多いですよね。そうでない暗号もあって、RSA暗号などが例です。公開鍵暗号というグループの暗号です。ここで問題にしているのは共通鍵暗号です。そこで用いる共通の鍵をどう共有するか、ということです。

 大体の感じをお伝えします。ひとつの部屋にAさん、Bさん、Cさんの3人がいます。AさんとBさんは部屋の向かい合う隅にそれぞれ個人のコーナーを持っていてそこでこっそり様々の色を作れます。絵の具のセットがあるとでも考えましょう。Cさんは部屋の真ん中辺りにいて、他の2人が何をやっているのか見ることはできません。今、AさんとBさんが2人だけの色を共有したいとします。つまり、例えば緑と青を50%ずつ混ぜて「これがぼくたちの秘密の色だよ」みたいな感じです。2人は話をできますが、Cさんにも聞こえてしまいます。だから「緑と青を50%ずつにしよう」などと話すことはできません。その共有したい色を作って見せに行くこともできません。Cさんが途中にいて、見られてしまうからです。どうしたらよいでしょうか。ちょっと考えるとそんなうまい方法はなさそうですが……天才的なアイディアがあります!

 公開色を決めます。例えば「公開色を黄色にしよう!」と声をかければよいのです。これはCさんに聞かれても構いません。A、Bの2人はそれぞれ、自分だけの秘密色も決めます。これは自分だけの色で、他の誰にも教えてはいけません。さて、Aさんは自分の秘密色に公開色を混ぜます。50%でいいでしょう。これをBさんのところに持って行きます。Bさんはそこへ自分の秘密色を混ぜるのです。BさんもAさんと同じことをやります。つまり、Bさんは公開色に自分の秘密色を混ぜ、それをAさんに渡すわけです。Aさんはそれに自分の秘密色を混ぜるのです。これで2人がひとつの色を共有できました!

 実際にはこれを整数の累乗を素数で割り算した余りを用います。過去の記事をご覧ください。うまい例え話です。数学が嫌いでも絵の具の例え話なら聞かせることができます。しかもある意味本質を突いた例え話。「そういう例えは無理だろ」みたいな話とは違います。