暗号理論の問題
素数 と、法 の原始根 を公開パラメータとするエルガマル暗号を考える。受信者の公開鍵は である(秘密鍵 は を満たす。 は公開されていない)。
平文 ( の整数)を暗号化するとき、送信者は整数 を選び、
として暗号文 を送る。
ある送信者が、本来は毎回選び直すべき を使い回して、2 つの平文 を同じ で暗号化した。得られた暗号文は
である。攻撃者は何らかの方法で であることを知った。秘密鍵 を求めずに、平文 ( の整数)を求めよ。
この問題で使うもの
- エルガマル暗号(説明と入口の問題)
- 法 での逆元(拡張ユークリッドの互除法)(説明と入口の問題)
この問題を解けるようになるまで(27 技能)
読み込み中…
右端(太枠)がこの問題で使う技能です。左へドラッグすると、さらに前の前提をさかのぼれます。技能を押すと、そこまでの道筋が光ります。
ヒント
行き詰まったら、上から順に 1 つずつ開いてください。
ヒント 1
同じ を使うと、2 つの暗号文の には共通の因子 が掛かっていることに注目しよう。
ヒント 2
とおくと , 。法 での逆元(拡張ユークリッドの互除法)を使えば が求まる。
ヒント 3
なので 。あとは を解けばよい。
答えと解説
答えを見る
どこでつまずきましたか?(選ぶと、戻る場所を案内します)
解説を読む
2 つの暗号文は同じ で作られているので、 とおくと
が成り立つ(実際、 が等しければ も等しい)。 は素数で なので、 や は法 で逆元をもつ。
1. を求める。 の逆元を求める。, , より
よって (確認: )。したがって
2. を求める。 より 。よって
(別解: を使ってもよい。 より で、 となり同じ結果になる。)
検算: で、 と一致する。
したがって である。
別解
同じ を使っているので、共通の値 に対して が成り立つ。よって , であり、両辺の比をとると となる。
より 。
。, なので 。
検算: 、 で一致する。したがって 。