英字 文字を と数に対応させ、各文字 を
で暗号化する。この暗号の復号関数を
の形で表すとき、整数 ()の組 を求めよ。
アフィン暗号
で文字を暗号化し、 を使って復号関数 を の形で求められる。平文と暗号文の文字の組 2 つから連立合同式を解いて鍵 を決定できる
前提
- 法 での逆元(拡張ユークリッドの互除法) (大学数学 暗号理論)
この技能までの道筋(23 技能)
読み込み中…
右端(太枠)がこの技能です。左へドラッグすると、さらに前の前提をさかのぼれます。技能を押すと、そこまでの道筋が光ります。
一覧で見る(前提が先)
- 約数の見つけ方 (算数 整数の性質)
- 最大公約数と最小公倍数 (算数 整数の性質)
- 素因数分解と約数の個数 (算数 整数の性質)
- 最大公約数と最小公倍数 (数学A 整数の性質)
- ユークリッドの互除法 (数学A 整数の性質)
- 1 次不定方程式の整数解 (数学A 整数の性質)
- 分数のたし算・ひき算 (算数 計算と数のきまり)
- 小数の四則計算 (算数 計算と数のきまり)
- 正負の数の加法・減法 (中学数学 数と式)
- 分数のかけ算・わり算 (算数 計算と数のきまり)
- 四則の混じった計算の順序 (算数 計算と数のきまり)
- 正負の数の乗除・累乗と四則混合 (中学数学 数と式)
- 分配法則を使った計算のくふう (算数 計算と数のきまり)
- 文字式の計算(同類項・分配法則) (中学数学 数と式)
- 乗法公式による展開 (中学数学 数と式)
- 因数分解 (中学数学 数と式)
- 文字式で表した整数の性質 (中学数学 数と式)
- 余りによる整数の分類 (数学A 整数の性質)
- 樹形図で数え上げる (算数 場合の数)
- 積の法則と和の法則 (算数 場合の数)
- 和の法則・積の法則と樹形図 (数学A 場合の数と確率)
- 合同式 (数学A 整数の性質)
- 法 での逆元(拡張ユークリッドの互除法) (大学数学 暗号理論)
説明
アフィン暗号は、アルファベットを と数に置き換え、鍵 を使って で文字を別の文字に移す暗号です。この技能を身につけると、文字を暗号化できるようになります。また、法 26 での逆元 を使って、復号関数を の形で書けるようになります。さらに、平文と暗号文の対応が 2 組わかっていれば、連立合同式を解いて鍵 を割り出せます。ただし、2 つの平文の文字の番号の差が 13 のとき(たとえば と )は、2 組だけでは鍵が 1 つに決まりません。そのときは別の組がもう 1 つ必要です。
なぜそうしてよいのか
暗号化の式 を について解けば、復号ができます。まず両辺から を引くと となります。 なら、拡張ユークリッドの互除法で を満たす整数 が見つかります。両辺に を掛けると
です。したがって 、 とおけば、復号関数も 1 次式 の形になります。、つまり が偶数か 13 の倍数のときは、異なる文字が同じ文字に移ってしまいます。たとえば なら なので、 と が一致します。これでは復号できません。そのため として使えるのは、 の 12 通りだけです。
鍵を決めるときは、2 組の対応 、()を使います。ここから と が得られます。辺々引くと が消えて、 だけの 1 次合同式 になります。この式の解き方は で変わり、 は 1, 2, 13 のどれかです。
- のとき: の逆元を掛ければ、 がただ 1 つに決まります。
- のとき: 1 次不定方程式と同じように両辺と法を 2 で割ると、法 13 の合同式になり、法 26 では候補が と の 2 つ残ります。13 は奇数なので、この 2 つは偶奇が異なります。そこで奇数のほうを選びます。
- のとき: が奇数なら なので、左辺 は奇数の すべてで同じ値になります。つまりこの式からは が絞れません。
が決まれば、 で も決まります。
手順
文字を数に直す: とする。
鍵 が使えるか確かめる: 、つまり が奇数で 13 でないことを確認する。
暗号化する: 平文の数 ごとに を計算し、 に直してから文字に戻す。
復号関数を作る: 互除法で を求める。、 をそれぞれ 0 以上 25 以下に直し、 とする。
鍵を決める(対応が 2 組わかっているとき): をつくり、 で場合分けする。(i) : とただ 1 つに決まる。(ii) : が奇数なら解はない。偶数なら両辺と法を 2 で割って法 13 で解き、候補 のうち を満たすもの(奇数のほう)を選ぶ。(iii) (例: と ): なら 12 通りの がすべて条件を満たすので、2 組では決まらない。別の平文・暗号文の組を使う。 なら解はない。どの場合も、解がない、または を満たす候補が残らないときは、与えられた対応がアフィン暗号として不整合である。
を求める: 決まった を使って を計算し、0 以上 25 以下に直す。
例題
文字を と対応させ、アフィン暗号 で暗号化する。復号関数を (, )の形で表すとき、組 を求めよ。
例題の解答
【手順 2】 なので、 が存在する。したがって復号できる。
【手順 4】まず互除法で を求める。
、、
これを下から逆にたどると、
となる。よって である。確かめると、 で正しい。
次に を について解く。両辺から 3 を引いて を掛けると、 となる。 だから、 である。よって 、。
検算: を暗号化すると で になる。これを復号すると となり、 に戻る。
答え:
よくある誤り
復号を「 を掛けてから を引く」と考え、 としてしまう誤り。例: で とする。正しくは先に を引いてから を掛けるので、 となり、 である。
の でも鍵に使えると思ってしまう誤り。例: では 、 となり、 と が同じ文字に移るので復号できない。正しくは、 は 26 と互いに素な 12 通りに限られる。
鍵の決定で、 が 26 と互いに素でないのに、ふつうの割り算をしてしまう誤り。例: から「 だけ」と結論する。正しくは より 、つまり なので、法 26 では の 2 通りが候補になる。このうち を満たす を選ぶ。補足: が 13 の倍数のときは、候補を絞ることすらできない。例として 、 では となり、奇数の がすべてこれを満たす。このように 12 通りの が残るので、別の平文・暗号文の組がもう 1 つ必要になる。
逆元を分数 と考えたり、 や のような負の値を に直さずに文字に戻したりしてしまう誤り。正しくは、 は を満たす整数 のことである。また、計算結果は 26 の倍数を足したり引いたりして に直してから文字に対応させる(例: )。
この説明は AI が書き、別の AI が例題を独立に解いて答えを確かめ、説明を一歩ずつ査読しました。
入口の問題
英字 文字を と数に対応させます。整数 (、)を鍵とするアフィン暗号
で、1 文字ずつ暗号化します。暗号文の文字は、 を 以上 以下の整数で表したものです。この暗号で、平文の文字 は に、平文の文字 は に暗号化されました。鍵 を求めてください。
英字 文字を と数に対応させる。鍵を とするアフィン暗号
で暗号化された文字 ()を元に戻す復号関数を
の形で表すとき、整数の組 を求めよ。
この技能を使う問題
英字 文字を と数に対応させる。整数の組 を鍵とするアフィン暗号
で 1 文字ずつ暗号化する。ただし は を満たす整数で、 とする。このような鍵 のうち、暗号化を 2 回続けて行うと必ず元の文字に戻る、すなわち を満たすすべての整数 について
が成り立つ鍵(暗号化と復号が同じ写像になる鍵)は何個あるか。ただし が恒等写像になる鍵 も数に含める。英字 文字を と数に対応させ、鍵 のアフィン暗号
で 1 文字ずつ暗号化する。ここで鍵は整数の組 で、、、 を満たすものとする。鍵 が次の 2 つの条件をともに満たすとき、「よい鍵」と呼ぶ。
- 条件 : 暗号化を 2 回続けて行うと元に戻る。すなわち、 を満たすすべての整数 について が成り立つ(暗号化と復号が同じ操作になる)。
- 条件 : どの文字もそれ自身には暗号化されない。すなわち、 を満たすどの整数 についても である。
よい鍵 の個数を求めよ。
を素数とし、 を を法とする剰余類全体とする。整数 は かつ をみたすとし、アフィン暗号の暗号化写像 を
で定める。正の整数 に対して、 を 回合成した写像を と書く。正の整数 について、「すべての に対して が成り立つ(すなわち、同じ鍵で 回暗号化すると必ず平文に戻る)」ための必要十分条件は であること(とくにこの条件は によらないこと)を証明せよ。
ただし、 が素数で ならば、 をみたす整数 は に限ることは用いてよい。
英字 文字を と数に対応させ、アフィン暗号
で 1 文字ずつ暗号化する。ここで鍵 は , を満たす整数で、 は と互いに素である(暗号化は 1 対 1 である)。ある暗号文について、平文の文字 が に、平文の文字 が に暗号化されていることがわかった。この暗号の復号関数を
の形に表すとき、整数の組 を求めよ。英字 文字を と数に対応させ、鍵 のアフィン暗号
で 1 文字ずつ暗号化する。鍵は、 かつ を満たす整数 と、 を満たす整数 の組 とする(全部で 通り)。ある鍵 について、同じ鍵で 3 回続けて暗号化すると、どの文字ももとの文字に戻る、すなわち
が成り立つとする。このような鍵 の個数を求めよ(恒等写像になる鍵 も数える)。