暗号理論の問題
繰り返し二乗法を用いて、 を で割った余り ()を求めよ。
この問題で使うもの
- 繰り返し二乗法によるべき剰余(説明と入口の問題)
この問題を解けるようになるまで(19 技能)
読み込み中…
右端(太枠)がこの問題で使う技能です。左へドラッグすると、さらに前の前提をさかのぼれます。技能を押すと、そこまでの道筋が光ります。
ヒント
行き詰まったら、上から順に 1 つずつ開いてください。
ヒント 1
繰り返し二乗法を使います。まず指数 を 2 進法で表しましょう。
ヒント 2
なので、 です。 を、前の値を 2 乗して で割った余りを取りながら順に求めます。
ヒント 3
、、 です。あとは を、掛けるたびに で割った余りに直しながら計算します。
答えと解説
答えを見る
どこでつまずきましたか?(選ぶと、戻る場所を案内します)
解説を読む
手順 1:指数を 2 進法で表す。
したがって である。
手順 2: を、前の値を 2 乗して順に求める。
- なので
- である。 より
- である。 より
手順 3:2 進法で 1 が立つ桁()の値を掛け合わせる。
掛けるたびに で割った余りに直す。
より、この積は と合同である。続けて を掛けると
より
検算: を使うと、 となる。 なので となり、結果は一致する。
よって求める余りは である。
別解
13 = 1101(2進)なので 7^13 = 7^8 · 7^4 · 7^1。mod 61 で繰り返し二乗する。
7^1 = 7。
7^2 = 49。
7^4 = 49^2 = 2401。61·39 = 2379 なので 2401 − 2379 = 22。よって 7^4 ≡ 22。
7^8 ≡ 22^2 = 484。61·7 = 427 なので 484 − 427 = 57 ≡ −4。よって 7^8 ≡ 57。
したがって 7^13 ≡ 7^8 · 7^4 · 7 ≡ (−4)·22·7 = −616。
616 = 61·10 + 6 なので −616 ≡ −6 ≡ 55 (mod 61)。
検算:フェルマーの小定理より 7^60 ≡ 1。別の方法として 7^3 = 343 = 61·5 + 38 なので 7^3 ≡ 38。7^6 ≡ 38^2 = 1444 = 61·23 + 41 なので 41。7^12 ≡ 41^2 = 1681 = 61·27 + 34 なので 34。7^13 ≡ 34·7 = 238 = 61·3 + 55 なので 55。一致する。