技能一覧 › 大学数学 暗号理論

アフィン暗号

で文字を暗号化し、 を使って復号関数 を の形で求められる。平文と暗号文の文字の組 2 つから連立合同式を解いて鍵 を決定できる

前提

この技能までの道筋(23 技能)
算数中学高校大学大学院

読み込み中…

右端(太枠)がこの技能です。左へドラッグすると、さらに前の前提をさかのぼれます。技能を押すと、そこまでの道筋が光ります。

一覧で見る(前提が先)
  1. 約数の見つけ方 (算数 整数の性質)
  2. 最大公約数と最小公倍数 (算数 整数の性質)
  3. 素因数分解と約数の個数 (算数 整数の性質)
  4. 最大公約数と最小公倍数 (数学A 整数の性質)
  5. ユークリッドの互除法 (数学A 整数の性質)
  6. 1 次不定方程式の整数解 (数学A 整数の性質)
  7. 分数のたし算・ひき算 (算数 計算と数のきまり)
  8. 小数の四則計算 (算数 計算と数のきまり)
  9. 正負の数の加法・減法 (中学数学 数と式)
  10. 分数のかけ算・わり算 (算数 計算と数のきまり)
  11. 四則の混じった計算の順序 (算数 計算と数のきまり)
  12. 正負の数の乗除・累乗と四則混合 (中学数学 数と式)
  13. 分配法則を使った計算のくふう (算数 計算と数のきまり)
  14. 文字式の計算(同類項・分配法則) (中学数学 数と式)
  15. 乗法公式による展開 (中学数学 数と式)
  16. 因数分解 (中学数学 数と式)
  17. 文字式で表した整数の性質 (中学数学 数と式)
  18. 余りによる整数の分類 (数学A 整数の性質)
  19. 樹形図で数え上げる (算数 場合の数)
  20. 積の法則と和の法則 (算数 場合の数)
  21. 和の法則・積の法則と樹形図 (数学A 場合の数と確率)
  22. 合同式 (数学A 整数の性質)
  23. 法 での逆元(拡張ユークリッドの互除法) (大学数学 暗号理論)

説明

アフィン暗号は、アルファベットを と数に置き換え、鍵 を使って で文字を別の文字に移す暗号です。この技能を身につけると、文字を暗号化できるようになります。また、法 26 での逆元 を使って、復号関数を の形で書けるようになります。さらに、平文と暗号文の対応が 2 組わかっていれば、連立合同式を解いて鍵 を割り出せます。ただし、2 つの平文の文字の番号の差が 13 のとき(たとえば と )は、2 組だけでは鍵が 1 つに決まりません。そのときは別の組がもう 1 つ必要です。

なぜそうしてよいのか

暗号化の式 を について解けば、復号ができます。まず両辺から を引くと となります。 なら、拡張ユークリッドの互除法で を満たす整数 が見つかります。両辺に を掛けると

です。したがって 、 とおけば、復号関数も 1 次式 の形になります。、つまり が偶数か 13 の倍数のときは、異なる文字が同じ文字に移ってしまいます。たとえば なら なので、 と が一致します。これでは復号できません。そのため として使えるのは、 の 12 通りだけです。

鍵を決めるときは、2 組の対応 、()を使います。ここから と が得られます。辺々引くと が消えて、 だけの 1 次合同式 になります。この式の解き方は で変わり、 は 1, 2, 13 のどれかです。
- のとき: の逆元を掛ければ、 がただ 1 つに決まります。
- のとき: 1 次不定方程式と同じように両辺と法を 2 で割ると、法 13 の合同式になり、法 26 では候補が と の 2 つ残ります。13 は奇数なので、この 2 つは偶奇が異なります。そこで奇数のほうを選びます。
- のとき: が奇数なら なので、左辺 は奇数の すべてで同じ値になります。つまりこの式からは が絞れません。

が決まれば、 で も決まります。

手順

  1. 文字を数に直す: とする。

  2. 鍵 が使えるか確かめる: 、つまり が奇数で 13 でないことを確認する。

  3. 暗号化する: 平文の数 ごとに を計算し、 に直してから文字に戻す。

  4. 復号関数を作る: 互除法で を求める。、 をそれぞれ 0 以上 25 以下に直し、 とする。

  5. 鍵を決める(対応が 2 組わかっているとき): をつくり、 で場合分けする。(i) : とただ 1 つに決まる。(ii) : が奇数なら解はない。偶数なら両辺と法を 2 で割って法 13 で解き、候補 のうち を満たすもの(奇数のほう)を選ぶ。(iii) (例: と ): なら 12 通りの がすべて条件を満たすので、2 組では決まらない。別の平文・暗号文の組を使う。 なら解はない。どの場合も、解がない、または を満たす候補が残らないときは、与えられた対応がアフィン暗号として不整合である。

  6. を求める: 決まった を使って を計算し、0 以上 25 以下に直す。

例題

文字を と対応させ、アフィン暗号 で暗号化する。復号関数を (, )の形で表すとき、組 を求めよ。

例題の解答

【手順 2】 なので、 が存在する。したがって復号できる。

【手順 4】まず互除法で を求める。
、、
これを下から逆にたどると、

となる。よって である。確かめると、 で正しい。

次に を について解く。両辺から 3 を引いて を掛けると、 となる。 だから、 である。よって 、。

検算: を暗号化すると で になる。これを復号すると となり、 に戻る。

答え:

よくある誤り

この説明は AI が書き、別の AI が例題を独立に解いて答えを確かめ、説明を一歩ずつ査読しました。

入口の問題

この技能を使う問題