ElGamal暗号
離散対数問題の一方向性を公開鍵暗号に応用したのがElGamal 暗号と呼ばれるものです。ここでは最も基本的な機能として、この暗号 を用いて、AさんとBさんとが情報を公開し合い、その結果として両者 のみがある数字を第三者に知られずに共有できることを示します。同じ 数字が二人の中でのみ共有できれば、それを共通鍵として比較的簡単な 処理で暗号をやりとりすることができます。
図に、17を法とした時の、2~16のべき乗の表を示します。Aさんは 前項で述べたa=12という数字を自分の秘密として持ち、一方で5**12 (17を法として)である4という数字を公開します。4から12というの は求められないとします。Bさんはa=10という数字を秘密として持ち、 一方で5**10である9という数字を公開します。Aさんは9という数字 は知っていますが10という数字は知らず、Bさんは4という数字は知っ ていますが12という数字は知りません。
この時、AさんはBさんが公開している9という数字を、自分だけが 知っている「12」乗します。BさんはAさんが公開している4という数 字を、自分だけが知っている「10」乗します。共に17を法として、です。 この時、どちらも答は16となり、一致します。この数字を共有すればよ いのです。
なぜこうなるのでしょう。実は、9というのは、Aさんが知らないだ けで、実は5**10でした。それを12乗するのですから、5**120ですね。 Bさんが計算したのも、5**12の10乗ですから、5**120です。なんだ、 一致するのは当り前ですね。
重要なのは、第三者つまり「4」と「9」という数字だけ与えられた 人は、離散対数問題の一方向性が成立する限り、そこから事実上「16」 にはたどりつけないということです。しかし一方向性が崩れると、4か ら12が、または9から10がわかってしまい、共有すべき数字は第三者に 知られてしまいます。
sponsored link
このページ
のTOPへ


