暗号技術の基礎と応用
ディフィー・ヘルマン鍵交換では、素数 p と生成元 g を公開し、AさんとBさんがそれぞれ秘密の値 a、b を選んで、g^a mod p と g^b mod p を互いに送る。盗聴者がこれらの公開された値をすべて見ても、共有の秘密 g^(ab) mod p を求められないと考えられている理由として、正しいものはどれか。
- Ag^a mod p から a を求める問題(離散対数問題)が、p が大きいと効率よく解けないと考えられているから
- Bg^a mod p と g^b mod p は、送る前に相手の公開鍵でさらに暗号化されるので、盗聴者には読めないから
- C共有の秘密は、2人があらかじめ会って決めた合言葉から作るから
答えと解説を見る
正解:A. g^a mod p から a を求める問題(離散対数問題)が、p が大きいと効率よく解けないと考えられているから
g^a mod p を計算するのは速いのに、結果から a を求めるのは、p が十分大きいと現実的な時間ではできないと考えられています(離散対数問題)。盗聴者は g^a mod p と g^b mod p を見られても、a や b が分からなければ g^(ab) mod p を作れません。一方、AさんはBさんの値を a 乗し、BさんはAさんの値を b 乗するだけで、どちらも同じ g^(ab) mod p を得ます。楕円曲線の上で同じことを行うのがECDHで、楕円曲線上の離散対数問題の難しさに基づきます。
- A. 正しい。公開値から秘密の値を求める離散対数問題の難しさが、安全性の根拠です。
- B. 公開値は暗号化せずに送ります。見られても安全なことが、この方式の特長です。
- C. 事前に秘密を共有しなくても、公開の通信路だけで共有の秘密を作れるのが、この鍵交換の特長です。