KIHA HACKING LABORATORY

暗号解読の観察ガイド

READING THE CLUES

古典暗号の解読は、魔法のように答えを当てる作業ではありません。暗号文に残った「偏り」と「繰り返し」を観察し、仮説を少しずつ狭めていく研究です。このページでは、暗号解読ワークベンチに表示される数字の読み方を説明します。

暗号解読ワークベンチを開く

解読支援の3段階

LEVEL 1

観察する

文字の出現回数、候補文、ICなどを見て、人が「この方式らしい」「この文章は自然だ」と判断します。道具は計算と表示を担当します。

LEVEL 2

絞り込む

コンピュータが複数の根拠を組み合わせ、鍵長や鍵候補を順位付けします。ただし候補が正しいかは、人が意味・文脈・固有名詞を照合して確かめます。

LEVEL 3

探索する

辞書や言語モデルによる評価と探索を用い、鍵そのものを自動で探します。強力な反面、評価基準・計算量・誤判定を理解する必要があります。

文字頻度と THE が手掛かりになる理由

英語の文章では、文字の出現回数は均等ではありません。一般に E、T、A、O などが多く、Q や Z は少ない傾向があります。単一換字やシフトのように「同じ平文文字が常に同じ暗号文字になる」方式では、この偏りが暗号文にも形を変えて残ります。

文字を二つ・三つ続けて見ると、さらに情報が増えます。英文では TH、HE、IN のような連なりがよく現れ、THE は特に頻出する単語の一つです。単語間の空白が残る暗号文なら、3文字の頻出単語が THE の候補かもしれません。空白が消えていても、3文字列の繰り返しは仮説の入口になります。

大切なこと:頻出文字が必ず E、頻出3文字列が必ず THE になるわけではありません。短文、専門用語、固有名詞、引用文では偏りが大きく変わります。「候補を立てる根拠」の一つとして使います。

偶然一致指数(IC)とは

IC(Index of Coincidence)は、暗号文から無作為に2文字を選んだとき、それらが同じ文字になる確率を数える指標です。文字の偏りが強いほど値は大きくなります。

IC = Σ fᵢ(fᵢ − 1) / N(N − 1)

fᵢ は各文字の出現数、N は英字の総数です。均一に近いランダムな英字列はおよそ 0.038、通常の英文はおよそ 0.066 が目安です。

  • シフト暗号・単一換字暗号:平文の偏りが保たれるため、英文に近いICになりやすい。
  • ヴィジュネル暗号:複数のシフトが混ざるため、全体のICはランダム列に近づきやすい。
  • 正しい鍵長で列に分ける:各列は一つのシフト暗号に近づき、列ごとのICが上がることがある。

ワークベンチの「最多の文字」は、頻度の偏りをまず一目で捉えるための入口です。ICはその偏りを全26文字で数値化したもの、と考えると分かりやすいでしょう。

なぜレベル2はヴィジュネル暗号から着手するのか

シフト暗号とアフィン暗号は鍵の総数が小さく、すべて試して復号文を読み比べられます。一方、ヴィジュネル暗号は鍵が複数文字なので、鍵を1文字ずつ総当たりすると候補が急速に増えます。

ただしヴィジュネル暗号には、同じ鍵文字が一定間隔で繰り返されるという構造があります。鍵長を推定できれば、暗号文を列に分割し、各列をシフト暗号のように扱えます。総当たりではなく構造を使って探索範囲を削るため、レベル1からレベル2へ進む題材としてちょうどよいのです。

ワークベンチでは、IC・カシスキ検査・列別頻度を別々に表示します。複数の観察が同じ鍵長を指すとき、その仮説は強くなります。

カシスキ検査:繰り返しの間隔を見る

ヴィジュネル暗号で同じ平文の並びが、同じ鍵の位置で暗号化されると、同じ暗号文字列が再び現れることがあります。その二つの位置の間隔は、鍵長の倍数になりやすいという性質があります。

  1. 暗号文から3〜5文字程度の繰り返しを探す。
  2. 同じ並びが現れた位置の間隔を計算する。
  3. 間隔を割り切る数を、鍵長の候補として数える。
  4. ICの結果と照らし、もっともらしい鍵長を選ぶ。

繰り返しが見つからなくても失敗ではありません。暗号文が短い場合や文章の内容によっては、たまたま同じ並びが現れないことがあります。そのときはICと復号候補を重視します。

数字を読むときの注意

暗号文は長いほど有利

数十文字では頻度が偶然に偏ります。数百文字あると統計的な傾向が見えやすくなります。

対象は主に英文

現在の頻度表と評価値は英文を前提にしています。日本語ローマ字、別の言語、コード片にはそのまま当てはまりません。

候補は検証して確定する

スコアの一位が正解とは限りません。自然な文、既知の単語、背景事情と照らし合わせて結論を出しましょう。

暗号解読ワークベンチで観察を始める →

— END OF ARTICLE —