レッスン
理論 — ヴィジュネル暗号:鍵の長さを突き止め、解読する
ヴィジュネル暗号は、繰り返す鍵の文字を原文の一文字一文字に足し合わせる暗号です。A = 0 から Z = 25 と置くと、i 番目の暗号文字は (原文の文字 i + 鍵の文字 i mod L) mod 26 で求まり、L 文字ごとに同じ鍵文字によるシーザー暗号が適用されます。N 文字の一致指数(IC = Σ n(n − 1) / (N(N − 1)))は、異なる二箇所から無作為に取り出した文字が一致する確率を表し、ランダムな文字列では 1/26 = 0.0385、英語ではおよそ 0.066 になります。フリードマンの検定法は、暗号文を横に k 文字ずつ並べて縦の列ごとに一致の度合いを測ります。k が鍵長(およびその整数倍)に一致したとき、各列は単一のシーザー暗号でずらされた英語そのものとなり、その一致指数は英語本来の値へと跳ね上がります。1863 年に発表されたカシスキーの検定法は、暗号文中に繰り返し現れる文字列の間隔を因数分解して鍵長を探る手法です。
各記号の意味
L- 鍵の文字数(鍵長)
k- 検証中の鍵長(暗号文を振り分ける列の数)
N- 原文の文字数
n- 一致指数の計算式における、各文字の出現回数
- 前提
- キャロルのカードと同じく、暗号化に先立って大文字・小文字の区別、空白、句読点はすべて取り除き、英文字のみを扱います。本教材における「英語」とは、『不思議の国のアリス』第1章の 8,606 文字を指します。各文字の出現比率と 0.0665 という一致指数がすべての検定の基準となっており、解読精度の検証にも同じ章から文章を切り出しているため、解読器側にはやや有利な条件です。鍵長は、列の平均一致指数が 1/26 から英語までの 3/4 以上に達した最小の k として特定されます。ランダム鍵は各文字を一様に選ぶため同じ文字が重なることがあり、前半と後半で文字が繰り返すような鍵では、鍵長の半分の位置にある棒が基準線を超えてしまうことがあります。
全プロセスの詳細解説
-
キャロルの暗号カードの主張は正しかったのか? 4 ステップ
ルイス・キャロルはこの暗号を解説したカードを印刷させました。印刷年は記されていませんが、鍵語の送付に言及した彼の手紙は 1868 年 4 月付であり、カシスキーの著書から 5 年後のことです。カードでは「meet me on Tuesday evening at seven」という文を「vigilance」という鍵語で暗号化し、「鍵語を知らない者には、換字表を手がかりにしても解読は不可能である」と謳っていました。キャロルの暗号カードを押してみてください。この解読器は彼の文を読めるでしょうか? 次に、同じ鍵語を使って第1章の冒頭を暗号化してみましょう。鍵語「VIGILANCE」を完全に読み取るには、何文字必要になるでしょうか。
-
手計算で 1 文字確かめてみましょう。m は 12、v は 21 です。12 + 21 = 33 であり、33 − 26 = 7、すなわち h となります。画面に生成された暗号文 HMKBXEBPXPMYLLYRXIIQTOLTFGZZV は、キャロルが記した暗号文と一字一句違わず一致しています。
-
29 文字を 9 列に配分すると、4 文字の列が二つ、3 文字の列が七つできます。三文字組の反復は一つもなく、カシスキー・テストで因数分解できる手がかりはありません。0.0595 の基準線に届く棒はなく、最高値は k = 9 の 0.0556 ですから、鍵の長さ自体は正しく捉えられています。しかし、わずか三、四文字に対するカイ二乗検定は当て推量にすぎません。推定された鍵は HIGXXLNPM で、9 文字中 3 文字しか合っておらず、解読できた原文も 29 文字中 10 文字にとどまります。
-
VIGILANCE(189文字)を押してください。キャロルの鍵語で暗号化した第1章の冒頭(1 列あたり 21 文字)です。棒 9 が 0.0794 を記録して初めて基準線を超え、反復文字列の間隔も 5 箇所のうち 4 箇所(54、36、27、72。残り一つは 29)が 9 の倍数となっています。全 9 列が正しく特定され、189 文字すべてが正確に復号されました。
-
文字数を 188 に設定してみてください。鍵長は 9 のままですが、第 9 列が 20 文字に減ったことで、E ではなく T への適合度が高くなってしまいます。その結果、復号できるのは 188 文字中 168 文字にとどまります。189 文字目が加わることで第 9 列に重みが乗り、判定が E へと傾くのです。
解答
この画面上では、キャロルの短文は暗号の安全性を保ち、『アリス』の 189 文字は破られました。 1 列あたり三、四文字では統計処理を行うには少なすぎ、鍵は HIGXXLNPM と崩れてしまいますが、1 列 21 文字あれば「VIGILANCE」を完璧に読み解くことができます。彼のメッセージを守ったのは、理論の堅牢さではなく文の短さだったのです。なお、「Tuesday」のような単語を推測された場合に残りが解読できるかどうかは、この画面では検証できません。文字の頻度だけを数えているからです。
-
学習の道すじ
暗号はいかにして破られるか
参考文献 (3)
- The two ends of the bar chart in the first insight (.066 for a correct period, .038 for a wrong one), and the method itself: write the ciphertext in lines of the assumed period and count coincidences down the columns, for each assumption in turn: William F. Friedman, "The Index of Coincidence and Its Applications in Cryptanalysis," Technical Paper, War Department, Office of the Chief Signal Officer. Washington: Government Printing Office, 1935. A 1923 revision of the paper of the same title published in 1922 by the Riverbank Laboratories. p. 11.
- Kasiski's 1863 book and what his method does (repetitions, their spacings factored, the key length, then letter frequencies), in the lesson's definition: David Kahn, "Kasiski, Friedrich W.," in Neue Deutsche Biographie 11 (1977), pp. 317 f.
- Carroll's Alphabet-Cipher card, its example (vigilance, 'meet me on Tuesday evening at seven', the ciphertext the page reproduces) and its promise, in the worked problem; the April 1868 letters about a key-word: Lewis Carroll (C. L. Dodgson), "The Alphabet-Cipher," printed card, undated (c. 1868). Images of both sides and an account of the letters at Lewis Carroll Resources, "Ciphers."