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