暗号理論の問題
素数 と法 の原始根 を用いるエルガマル暗号を考える。受信者の秘密鍵を 、公開鍵を とする。平文 ( の整数)は、送信者が整数 ()を選び
として暗号文 に暗号化される。
送信者は、誤って同じ を使い回して 2 つの平文 を暗号化し、暗号文 と をこの順に送った。盗聴者は つ目の平文が であることを知っている。 つ目の平文 を求めよ。
この問題で使うもの
- エルガマル暗号(説明と入口の問題)
- 法 での逆元(拡張ユークリッドの互除法)(説明と入口の問題)
この問題を解けるようになるまで(27 技能)
読み込み中…
右端(太枠)がこの問題で使う技能です。左へドラッグすると、さらに前の前提をさかのぼれます。技能を押すと、そこまでの道筋が光ります。
ヒント
行き詰まったら、上から順に 1 つずつ開いてください。
ヒント 1
同じ を使うと、2 つの暗号文の第 2 成分には同じ数 が掛けられている。秘密鍵 や を求める必要はない。
ヒント 2
, から を消去すると 。
ヒント 3
ユークリッドの互除法で が求まる。あとは を法 で計算する。
答えと解説
答えを見る
どこでつまずきましたか?(選ぶと、戻る場所を案内します)
解説を読む
2 つの暗号文は同じ で作られているので、第 1 成分はどちらも で等しく、第 2 成分には同じマスク が掛けられている。したがって
を消去する. は素数で なので、 は法 で逆元をもつ。第 1 式から を第 2 式に代入すると 、すなわち
の計算. ユークリッドの互除法より 、。逆にたどると
なので (実際 )。
の計算.
よって で、 より 。
検算. より なので 。実際 、 で、与えられた暗号文と一致する。
このように、エルガマル暗号で を使い回すと、1 つの平文が漏れただけで、秘密鍵 も も知らずに他の平文が復元されてしまう。
別解
同じ を使っているので、2 つの暗号文の は等しく(どちらも )、 も共通である。それを とおくと、 である。
よって 、。辺々の比をとると(、)
を拡張ユークリッドの互除法で求める。、 より
。よって 。確認: 。
より 。 より 。
検算: で、 と一致する( が成り立つ)。また を満たす。
答え: 。