暗号理論の問題
素数 と、法 の原始根 を公開パラメータとするエルガマル暗号を考える。受信者の秘密鍵は で、公開鍵は である。送信者は平文 ( の整数)を、ある整数 を用いて
と暗号化し、暗号文 を送った。受信者が秘密鍵を用いて復号したときの平文 を求めよ。
この問題で使うもの
- エルガマル暗号(説明と入口の問題)
この問題を解けるようになるまで(27 技能)
読み込み中…
右端(太枠)がこの問題で使う技能です。左へドラッグすると、さらに前の前提をさかのぼれます。技能を押すと、そこまでの道筋が光ります。
ヒント
行き詰まったら、上から順に 1 つずつ開いてください。
ヒント 1
エルガマル暗号の復号の式 を使う。
ヒント 2
まず を繰り返し二乗法(, を順に求める)で計算し、その逆元を拡張ユークリッドの互除法で求める。
ヒント 3
, より 。 なので、あとは を で割った余りを求めればよい。
答えと解説
答えを見る
どこでつまずきましたか?(選ぶと、戻る場所を案内します)
解説を読む
エルガマル暗号の復号は
で行う。これは なので、 を で割ればよいからである。
手順1: を求める。
なので、繰り返し二乗法で
よって
したがって 。
手順2: を求める。
より 。よって で、。
手順3:平文を求める。
(確認)、 とすると 、、 となり、暗号文と一致する。
答え:
別解
復号は で行う。
を計算する。
- より 。
- より 。
- より 。
よって である。 なので となる。
より 。
検算: なので と取れる。 で、 である。したがって となり、与えられた と一致する。
答え: