頻度分析の始め方:単一換字の解読手順とIC・カイ二乗
頻度分析の始め方:単一換字の解読手順とIC・カイ二乗
短い暗号文を紙に印刷し、鉛筆で正の字を書き込みながら最頻文字に丸を付け、目立つ二文字列に下線を引いていくと、ただの記号の列だったものに急に輪郭が出てきます。頻度分析の核心はここにあります。自然言語の文字の偏りは、単一換字式暗号にかけても消えず、そのまま暗号文に残るのです。
短い暗号文を紙に印刷し、鉛筆で正の字を書き込みながら最頻文字に丸を付け、目立つ二文字列に下線を引いていくと、ただの記号の列だったものに急に輪郭が出てきます。
頻度分析の核心はここにあります。
自然言語の文字の偏りは、単一換字式暗号にかけても消えず、そのまま暗号文に残るのです。
この記事は、古典暗号を自分の手で解いてみたい人に向けて、紙と鉛筆で追える解読フローを先に示します。
単文字を数え、二文字、三文字、単語の形を拾い、仮説を置いて直す。
この順番を押さえるだけで、単なる当てずっぽうが観察にもとづく推理に変わります。
そのうえで、一致指数(IC)とカイ二乗統計へどうつなげればよいかも見ていきます。
どの暗号に効き、どこで限界が来るのかを早めに押さえておくと、単一換字だけでなくヴィジュネルや同音換字に出会ったときも、次の一手を迷わず選べます。
頻度分析とは何か——なぜ文字の偏りが手がかりになるのか
定義と攻撃モデル
頻度分析は、暗号文にどの文字や文字列が何回出てくるかを数え、その偏りから平文を推定する暗号解読法です。
単文字だけでなく、2文字や3文字の並びまで観察対象に入るのが要点で、分類としては暗号文単独攻撃に入ります。
つまり、平文の一部を知っている必要も、鍵を盗み見る必要もなく、手元にある暗号文そのものから攻めていく方法です。
ここで効いてくるのが、単一換字式暗号の構造です。
英語アルファベット26文字の対応表は全部で 26! ≒ 4.03×10^26 通りあり、総当たりで片っ端から試す発想は現実的ではありません。
だからこそ、文字の出現回数という統計的な手がかりを使うやり方が前面に出てきます。
鍵の候補を力ずくで潰すのではなく、言語に残る癖を読んで対応表を逆算するわけです。
ただし、冒頭でひとつ釘を刺しておくべき点があります。
短い暗号文では統計が落ち着かず、最頻文字がたまたまeらしく見えても外れることがあります。
文体が会話寄りか、固有名詞が多いか、同じ語尾が続くかでも分布は動きます。
理論上の一意復号距離は約27.6文字ですが、実務的な安定度は文体や語彙で大きく変わります。
筆者の経験や一般的な実務感覚(ヒューリスティック)では、30〜50文字程度のまとまりがあると頻度からの手掛かりが比較的安定することが多い、という扱いで述べます。
20〜30文字ほどの短文だと、単文字頻度だけで決め打ちするより、2文字・3文字の並びや単語の形と組み合わせて読むほうが筋が通ります。
頻度分析の歴史が古いのも、この発想が筋のよい観察だからです。
記録に残る最古級の説明は9世紀のアル=キンディーにさかのぼります。
単純な換字がなぜ破られるのかを言葉の側から説明した点で、古典暗号の世界ではひとつの転換点でした。
頻度の偏りが保存される理由
単一換字式暗号(substitution cipher)で頻度分析が効く理由は、仕組みそのものが単純だからです。
平文の1文字が、暗号化のたびに常に同じ暗号文字へ写ります。
eは毎回同じ記号に、tも毎回別の同じ記号に置き換わる。
この「固定対応」がある限り、平文にあった偏りは名前を変えて暗号文に残ります。
図にすると、考え方はこうです。
平文側 e e e e t t a o n
対応表 e → Q t → L a → M o → X n → R
暗号文側 Q Q Q Q L L M X R
文字そのものは変わっても、4回出るものは4回のまま、2回出るものは2回のままです。
頻度の山と谷が、そのままラベルだけ付け替わって移動するイメージです。
これが転置式暗号との共通点でもあり、同音換字式暗号やヴィジュネル暗号と違うところでもあります。
単一換字では偏りがそのまま見えるので、まず「どの暗号種か」を見分ける段階から有利です。
単文字頻度だけでなく、連続する文字の癖も残ります。
英語ならthheinのような2文字、theandingのような3文字が目につきます。
単一換字では、たとえばthが毎回同じ2文字の組に化けるので、「よく出る連字がある」という性質まで保存されます。
暗号文の中で同じ2文字列が何度も現れるなら、それは英語の高頻度連字を疑う材料になります。
筆者が紙で解くときも、ここは理屈より先に手が動きます。
ETAOINの表を横に置いて、暗号文の文字ごとの本数をざっと棒グラフにしてみると、ひとつだけ頭ひとつ抜けた棒が見えてきます。
その瞬間に「これはeっぽいな」と直感が立ち上がります。
もちろん直感だけで確定はしませんが、固定対応の暗号では、その第一印象がそのまま次の仮説につながります。
記号の列だったものが、急に英語の癖を帯び始める感触です。
この偏りが保存される性質は、統計量にも表れます。
一致指数(IC)は、単一換字を施しても保たれます。
英語の文章は約 0.068101、ランダムな26文字列は約 0.038466 で、単一換字の暗号文が英語由来なら前者に近い値を保ちます。
つまり、まだ読めなくても「これは英語の単一換字らしい」と当たりをつけられるわけです。
ここから先で扱うICやカイ二乗統計は、この保存性を数値で利用した道具と考えると位置づけが見えます。
英語の文字頻度とETAOIN
英語の文字頻度を語るとき、まず覚えておきたい代表的な並びが ETAOINSHRDLCUMWFGYPBVKJXQZ です。
先頭のETAOINは、英語で出現しやすい文字を並べたものとして古典暗号の入門書でおなじみです。
単一換字式暗号の暗号文を眺めるとき、最頻文字をこの並びの上位候補に当ててみるのが、いちばん手早い入口になります。
もっとも、この順番は絶対不変の法則ではありません。
小説、新聞、技術文書、固有名詞の多い文、短いメッセージでは細部が入れ替わります。
eが首位のことは多いですが、短文ではtやaが前に出ることもあります。
だからETAOINは答えそのものというより、「最初に置く仮説の順番表」として扱うのがちょうどいいです。
実際の解読では、最頻文字をe候補、次点をtやa候補として置き、そこから2文字・3文字の並びで絞っていきます。
たとえば、頻出する3文字列があればtheの可能性を考え、1文字語が現れたらaかIを疑う、という具合です。
単文字頻度だけでは似た山がぶつかることもありますが、連字や単語形を重ねると候補の数が目に見えて減っていきます。
この段階では、ETAOIN表を丸暗記していなくても困りません。
紙の端に並びを書いておき、暗号文の棒グラフと見比べるだけで十分です。
筆者も最初は、その簡単な見比べだけで「一番高い棒はe候補、次はtかaだろう」と当たりをつけていました。
そこから頻出する2文字列に目を移すと、ばらばらの記号が急にthやheの影を帯びて見えてきます。
頻度分析の面白さは、まさにその瞬間にあります。
固定された対応表の裏側から、言語の癖がじわっと染み出してくるのです。
単一換字式暗号をどう読むか——頻度分析の基本手順
準備:正規化と表づくり
実際に読み始めるときは、いきなり「この文字は e だ」と飛びつくより、まず暗号文を観察しやすい形にそろえます。
頻度分析は統計を見る作業なので、材料の並べ方が雑だと、その後の推理もぶれます。
英語アルファベット系の単一換字式暗号なら、大小文字はそろえ、記号や句読点をどう扱うかを先に決め、空白が残っているなら単語境界として活用します。
逆に空白が消されているなら、単語パターンの段階まで少し辛抱して、まず文字列の塊だけを見ます。
この下ごしらえで用意したいのは、少なくとも三つの表です。
ひとつは A〜Z の単文字カウント表、もうひとつは 2文字頻度の表、もうひとつは 3文字頻度の表です。
単一換字式暗号では平文の偏りが暗号文側にも残るので、単文字だけでなくダイグラム、トライグラムまで並べると、観察の粒度が一段上がります。
シーザー暗号なら換字が一本のシフトなので実質 25 通りを試せば足りますが、単一換字一般は 26! ≒ 4.03×10^26 通りあります。
ここでは総当たりではなく、表を足場にして候補を絞る発想が主役です。
筆者はこの段階で、紙よりもGoogle スプレッドシートやExcelを使うことがあります。
A〜Z のカウント列を左に置き、その横に th、he、in などの列、さらに the、and、ing の列を作って、仮説が合うセルを薄い緑、矛盾するセルを赤で塗っていきます。
これをやると、頭の中だけでは曖昧だった「なんとなく合っていそう」が、表の色として目に見えてきます。
単一換字の解読は、推理小説というより帳簿つけに近い瞬間があるのですが、その地味な整理が後で効きます。
理論上の unicity distance は約 27.6文字 ですが、これは理論値であり実務では文体や語彙で変動します。
筆者の経験的な目安としては 30〜50文字 前後で手掛かりが安定することが多いとされています(ヒューリスティック)。
短い段落1行ぶんだと単文字頻度の山が見え始めますが、20〜30文字ほどの短文では統計が暴れやすく、単文字だけで決め打ちすると外しやすくなります。
単文字→二文字→三文字の順で観察する
観察の順番は、単文字頻度、2文字頻度、3文字頻度の順が基本です。
いきなり長い単語を当てにいくより、まず粗い地形を見てから細部を詰めたほうが、仮説が崩れにくくなります。
単文字頻度では、最頻文字をまず e 候補 として置きます。
続く上位には t、a、o、i、n、s、r、h などを候補として並べます。
ここで大事なのは、あくまで候補だということです。
英語の代表的な頻度順は ETAOINSHRDLCUMWFGYPBVKJXQZ ですが、短文や文体の偏りで順位は入れ替わります。
最頻だから即 e 確定、ではなく、「この暗号文字は e かもしれない」と鉛筆で薄く書くくらいがちょうどいいです。
次に 2文字頻度へ移ります。
英語では th、he、in が目立つので、暗号文で何度も現れる 2文字列があるなら、そこに既存の単文字仮説を当てて整合するかを見ます。
たとえば、ある暗号文字を e 候補に置いた結果、頻出 2文字列が _h や h_ の形で何度も説明できるなら、仮説の筋が少し良くなります。
逆に、上位の 2文字列をどれだけ当てても th や he と噛み合わないなら、最初の e 候補を疑って戻るべきです。
単文字頻度は入口ですが、2文字頻度はその入口が本物かどうかを試す関門になります。
3文字頻度では、the、and、ing を中心に見ます。
ここは頻度分析の中でも手応えが出やすい場面です。
とくに the に相当する 3文字列が見つかると、t、h、e の3文字が同時に確定へ近づくので、その後の解読が一気に進みます。
単文字では候補にすぎなかった文字が、2文字・3文字を通じて「この配置でないと説明がつかない」という状態に変わっていくわけです。
and や ing も同じで、語の頭・中・尾の出方と合わせて見ると、単純な数え上げ以上の情報をくれます。
この順番を守ると、暗号文の見え方が段階的に変わります。
最初は A〜Z の棒グラフで山を見つけ、次に頻出ダイグラムで橋をかけ、トライグラムで骨組みを立てるイメージです。
筆者がスプレッドシートで色分けするときも、単文字の列だけ赤と緑が入り混じっていたものが、the の候補が見えた瞬間に隣の列までまとまって緑に変わります。
その瞬間、ばらばらの記号列が「英語らしいまとまり」として急に読めてきます。
単語パターンと仮説の反復
頻度表で骨組みが見えたら、次は単語パターンです。
空白が残っている暗号文なら、ここから解読の速度が上がります。
1文字語はまず a か I を疑えますし、同じ文字が続く並びがあれば、letter の tt のような重複が候補になります。
語尾の形も強い手がかりで、-ing や -ed に見える並びが出てくると、単語の内部構造まで見通しが立ちます。
単文字頻度だけでは迷っていた候補も、「この単語の形ならこの文字しか入らない」という絞り方に変わります。
ここで役に立つのが、置換表を一枚作って、仮説を必ず書き残すことです。
暗号文字と平文文字の対応を表にして、確度の高いもの、まだ保留のもの、矛盾が出たものを分けて管理します。
頭の中だけで入れ替えていると、二つ前の仮説に戻れなくなります。
筆者はスプレッドシートで一致を緑、不一致を赤、保留を黄にしていましたが、紙でも十分です。
大切なのは「今どこまで確定し、どこから先が仮説か」を見失わないことです。
単一換字式暗号の解読は、仮説を置いて、矛盾を見つけて、戻して、別候補を試す反復で進みます。
最初の e 候補が外れることもありますし、the だと思った 3文字列が実は and だった、ということもあります。
そのときに失敗として捨てるのではなく、「この仮説では 2文字頻度と単語パターンの両方を説明できない」と整理して、一段戻るのがコツです。
推理の形をしていますが、実際には整合性テストの積み重ねです。
統計的な補助線としては、IC やカイ二乗統計もこの反復を支えます。
暗号文の IC が英語に近い 0.068101 付近なら、単一換字式または英語原文に近い偏りを保つ系統だと見やすく、ランダムな 0.038466 付近に近いなら、そのままの単純な頻度分析では届きにくい構造を疑います。
候補復号文をいくつか作ったあとに、どれが英語らしい分布かを比べる場面では、カイ二乗統計も有効です。
紙と鉛筆で始めた作業が、ここで数値の裏づけを持ち始めます。
そしてこの反復は、暗号文が長いほど安定します。
500文字ほどの英語文なら単文字頻度だけでも強い手がかりになり、2文字頻度、3文字頻度、単語パターンを重ねると置換表が崩れにくくなります。
反対に短い投稿のような長さでは、ひとつの偶然が全体を引っ張ってしまいます。
頻度分析は魔法ではありませんが、暗号文が十分に長ければ、観察した偏りが仮説を支え、仮説がまた次の観察を呼ぶ、という良い循環に入ります。
これが単一換字式暗号を読むときの基本手順です。
具体例で体験する——最頻文字からtheを見つけるまで
ステップ1:最頻文字を e 候補に置く
ここでは、短い英語の暗号文を一つ相手にしているつもりで進めます。
まず筆者がやるのは、暗号文字を数えて、いちばん多く出る文字に薄く e と書いてみることです。
薄く、というのが肝心です。
まだ確定ではなく、ただの候補だからです。
紙で解くときは、余白に小さな置換表を2列で作ります。
左に Plain、右に Cipher と書いて、たとえば「e = X」のように仮置きしていきます。
この表があるだけで、頭の中だけで追っていたときの混乱がぐっと減ります。
しかも、あとで別候補に差し替えるとき、どこを直せばいいか一目で分かります。
実際、この作業は推理小説のメモに近くて、当たっている間は気分がいいのに、外れたと気づくと少し未練が残ります。
筆者も、いったん書いた e 候補を消して別の文字に入れ替えるときは、毎回ほんの少し迷います。
ただし、最頻文字が e とは限りません。
英語の代表的な頻度順では e が先頭に来ますが、短文では a や t が上に来ることもありますし、固有名詞が多い文では偏り方そのものが崩れます。
暗号文が30文字未満だと、そもそも代表的な頻出語が一度も出てこないことも珍しくありません。
そこで、この段階の判断基準は単純です。
最頻文字を e 候補に置いたあと、次の頻出パターンと噛み合うなら保持、噛み合わないなら撤回です。
ここで「最頻だから確定」としてしまうと、その後の全部がゆがみます。
ステップ2:頻出三文字列から the を探す
e 候補を仮に置いたら、次に見るのは頻出する三文字列です。
英語では the がひときわ強い手がかりなので、同じ三文字並びが何度も出てくるなら、まずそこに the を当ててみます。
たとえば暗号文の中で「Q X M」が繰り返し現れ、しかも中央か末尾の文字がさきほどの e 候補と一致するなら、「Q X M = t h e」かもしれない、と考えるわけです。
ここでのコツは、文字単体ではなく、周辺の形まで一緒に見ることです。
その三文字列の前後にどんな2文字列が続くか、単語境界の位置は自然か、文中で冠詞らしい振る舞いをしているかを確かめます。
the なら後ろに名詞が来やすく、文頭や文中で何度も安定して現れます。
逆に、候補を当てた結果、前後の並びが he や th としてほとんど現れない、単語の切れ目が不自然になる、同じ暗号文字が別の平文文字を要求してしまう、という矛盾が出たら、その the 候補は外します。
この瞬間が、頻度分析のいちばん楽しいところでもあります。
余白の置換表に t、h、e が並んだとたん、それまで無言だった記号列の一部が急に英語らしく見え始めます。
the が一つはまると、その前後の単語の輪郭まで浮かんできます。
筆者はこの「はまった」と感じる瞬間が好きで、紙の上で三つの文字が連動して確定へ近づくと、パズルのピースが一気につながったような感触があります。
とはいえ、その気持ちよさに引っ張られて誤答を抱え込むのが落とし穴です。
別の三文字列に差し替えたほうが全体の整合が取れるなら、そこで迷っても入れ替えます。
候補に愛着を持ちすぎないほうが、結局は早く進みます。
💡 Tip
the 候補は「頻出している」だけでなく、「前後の2文字列や単語境界まで自然に説明できるか」で見ます。三文字だけ合っていても、周囲が崩れるなら撤回です。
ステップ3:部分復元から周辺を広げる
the が一つでも見えたら、そこから先は連鎖です。
たとえば「_he」「th_」の形が拾えるので、同じ文字を含む別の単語候補を試せます。
すると he、in、to、of のような短い高頻度語が見つかりやすくなり、さらに and まで届くことがあります。
ここまで来ると、暗号文字の孤立した対応ではなく、単語同士のつながりとして読める部分が増えてきます。
実際の作業では、部分復元した断片を足場にして置換表を少しずつ埋めます。
ある単語が「t h e _」まで見えたら、その後ろの一文字が文脈上ほぼ限られることがありますし、「_ n」「_ f」のような短語が何度も現れれば in や of を疑えます。
and が見つかれば a、n、d が追加で埋まり、そこから別の語尾や接続詞が読めるようになります。
こうして、一か所の確定が別の候補を呼び、候補がまた別の確定に変わっていきます。
この段階でも、候補と確定は分けて扱います。
たとえば and を入れた結果、すでに確定しかけていた h や e と衝突するなら、その and は見送りです。
判断基準は一貫していて、単語一つが読めるかどうかではなく、複数の場所を同時に説明できるかです。
ひとつの並びだけをきれいに説明する仮説より、少し地味でも文全体の二文字列、三文字列、単語境界をまとめて説明する仮説のほうが強いです。
こうして見ると、頻度分析は最初の一撃で解く技ではなく、部分復元を連鎖させる技法です。
紙の余白に書いた Plain/Cipher の表が埋まっていくほど、暗号文は「読めない記号列」から「ところどころ意味が見える文章」に変わります。
そして、その変化はなめらかというより段差があります。
何も見えない時間が続いたあと、the がはまり、and や of が続き、急に文章全体の景色が開ける。
その感覚を一度体験すると、頻度分析が単なる統計ではなく、手で追える知的な遊びだと実感できます。
頻度分析を一歩進める——一致指数(IC)とカイ二乗統計
ICの直感と数値例
ここで一段、紙と鉛筆の観察から統計の側へ踏み込みます。
といっても、やることは「この文字列は、同じ文字がどれくらい“ぶつかりやすい”か」を見るだけです。
これが一致指数、ICです。
文字を無作為に並べた26文字アルファベットの列なら、同じ文字に当たる確率は約0.038466に寄ります。
英語の自然文は e や t のような高頻度文字が偏って現れるので、その値が約0.068101まで上がります。
この差は、体感で言えばサイコロの目が均等に出る袋と、特定の色の玉が多めに入った袋の違いに近いです。
どちらも一見ただの記号列ですが、二つ取り出して「同じものに当たるか」を何度も眺めると、偏りのある袋のほうが一致が起きやすくなります。
単一換字式暗号は、文字のラベルを貼り替えているだけなので、この「一致しやすさ」はほぼそのまま残ります。
つまり、暗号文のICが英語の自然文に近ければ、「少なくとも単一換字らしい統計は保っている」と読めるわけです。
筆者が初学者向けに小演習を出すときは、20行ほどの暗号文を1本用意して、まず各文字の出現数を数えてもらいます。
手計算でも追えますし、表計算に文字ごとの個数を並べれば、ICは思ったより素直に出ます。
そこで観測値が英語の目安に寄るのか、ランダム寄りなのかを見るだけでも、暗号の種類について最初の見当がつきます。
短い暗号文だと数字が揺れるので、1回の値を絶対視せず、「単文字頻度の形」「二文字・三文字の並び」と並べて読むのが実戦的です。
💡 Tip
ICは「正解を直接出す道具」ではなく、「この暗号文はどの土俵で戦うべきか」を教えてくれる道具です。単一換字のつもりで粘るべきか、別方式を疑うべきかの切り分けに効きます。
多表式換字(ヴィジュネル)の見分け
ヴィジュネル暗号(Vigenère cipher)のような多表式換字では、位置ごとに別の換字表が使われるため、平文の偏りが一つの表にきれいに残りません。
全体で眺めると頻度がかき混ぜられ、ICは英語の自然文より下がり、鍵長が4〜8程度なら約0.045±0.005に落ち込むことがあります。
このあたりの数字を見ると、単一換字とヴィジュネルの違いは、同じ曲を一つの楽器で弾くか、数小節ごとに別の楽器へ持ち替えるかに似ています。
一つの換字表だけなら癖がはっきり残りますが、複数の表が交代で現れると、単文字頻度は一枚の写真としてぼやけます。
最頻文字を e 候補に置いても、その後の the や and が伸びてこない。
頻出三文字列も思ったほど強く出ない。
そんなとき、ICを見れば「解き方の前提が違う」と気づけます。
単一換字では文字対応が1対1で固定されるので、頻度分析の主戦場は「どの文字が何に対応するか」です。
ヴィジュネルでは、まず鍵長をつかまえないとその土俵に立てません。
全体のICが英語より低く、ランダムよりは少し高いあたりにあるなら、多表式を疑う材料になります。
そこから列ごとに分けて見ると、各列は単一換字に近い振る舞いを取り戻します。
ここで初めて、前のセクションで見た頻度分析がもう一度効き始めます。
頻度分析への代表的な対抗策としてヴィジュネルが長く語られてきた理由は、まさにこの「全体を混ぜて見せる」性質にあります。
カイ二乗で英語らしさを比較する
ICが暗号文全体の空気を読む道具だとすると、カイ二乗統計は候補同士を並べて点数をつける道具です。
解読の現場では、「この仮説は気持ちよく見える」だけでは足りません。
とくにシーザー暗号のように候補が実質25通りしかない場合は、全部並べて、どれが英語の文字分布にもっとも近いかを数値で比べたほうが早いです。
手順は素朴です。
候補復号文ごとに、まず文字の出現数を数えます。
次に、英語なら e や t が多く、q や z は少ないという期待頻度と比べます。
そして、そのズレを合計したものがカイ二乗値です。
値が小さい候補ほど、文字分布が英語の形に近いと判断できます。
式そのものを覚える必要はあまりなく、実務では「数える」「期待と比べる」「ズレを足す」「小さい順に見る」で足ります。
筆者はこの工程を、ちいさなオーディションの採点表のように捉えています。
25人の候補者が同じ台詞を読んでいるとき、耳だけでは迷う場面でも、発音の癖やリズムを点数化すると順位が見えてきます。
シーザーの25候補も同じで、見た目ではどれもそれらしく見える瞬間があっても、文字分布まで比べると一つか二つが頭ひとつ抜けます。
20行ほどの暗号文なら、ICを先に出して「単一換字っぽいか」を確認し、そのあとシーザーの25候補に対してカイ二乗を計算し、順位表を作ると流れがきれいです。
上位候補だけを人間の目で読むと、統計と直感の役割分担がはっきり見えます。
もちろん、ここでも数字だけで突っ走ると危うい場面があります。
サンプルが短いと、ICもカイ二乗も平気でぶれます。
20〜30文字程度の短文では、理論上の一意復号距離に近いか下回ることがあり、頻度だけで決め打ちすると固有名詞や偏った語彙に足を取られます。
逆に、短い段落くらいの長さがあると、統計の揺れが落ち着いてきて、カイ二乗の順位と実際の読みやすさがそろい始めます。
だから実際の判断では、ICで暗号種の見当をつけ、カイ二乗で候補を絞り、さらに二文字・三文字頻度や単語の形で確かめる、という重ね合わせが効きます。
数字は冷静ですが、暗号を解くのはまだ人間の目です。
どこまで通用するか——有効な暗号と効きにくい暗号
効く:単一換字式暗号
頻度分析がもっとも素直に刺さるのは、やはり単一換字式暗号です。
平文の各文字が暗号文でも常に同じ記号へ写るので、文字の偏りがそのまま残ります。
英語ならETAあたりの強さが土台にあり、さらにthheinのような二文字頻度、theandingのような三文字頻度まで重ねると、単文字だけでは見えなかった輪郭がぐっと濃くなります。
鍵空間は 26!、つまり約 4.03×10^26 通りありますが、現実の解読で総当たりではなく統計が主役になるのは、この偏りが強い道しるべになるからです。
理論上の一意復号距離は約 27.6 文字ですが、これは数理的な理論値であり、実務では文体や固有名詞の混入に左右されます。
筆者や現場の経験に基づくヒューリスティックな目安としては、約30〜50文字程度で頻度からの手掛かりが安定することが多いと考えられます。
反対に短いフレーズだけだと統計が暴れ、仮説が揺れやすくなります。
この方式では、頻度分析は補助輪ではなくエンジンです。
単文字頻度で大まかな対応を置き、二文字・三文字頻度で修正し、単語の形で確かめる。
この流れがきれいにつながります。
だからこそ、古典暗号の入門として単一換字式が何度も登場するわけです。
紙の上で鉛筆を動かしながらでも、統計がちゃんと返事をしてくれる方式だからです。
一部有効:転置式
転置式暗号になると、話は少し変わります。
ここでは文字そのものは置き換えられず、並び順だけが崩されます。
したがって、一文字ごとの頻度は平文と同じです。
英語の文章を転置しただけなら、Eが多いという事実自体は残ります。
ICも単一換字と同じく、英語らしい値を保ちます。
そこだけ見ると「頻度分析が効きそうだ」と思いたくなりますが、解読の焦点は別にあります。
転置式で本当に知りたいのは、どの文字が何に対応するかではなく、どう並べ替えられたかです。
つまり必要なのは換字表ではなく、列の長さや読み出し順、グリッドの作り方といった並べ替え規則の推定です。
頻度分析は「これは多表式ではなく、文字の偏りが保たれている種類らしい」という診断には役立ちますが、それだけで復号規則そのものは出てきません。
単一換字では最頻文字をeに置く一手が前進になりますが、転置式では最頻文字がeだと分かっても、そのeがどの位置に戻るのかは別問題です。
この違いは、バラバラにされた文章を読む場面にたとえると分かりやすいのが利点です。
単一換字式は、文字が別の衣装を着ているだけなので、癖を追えば正体に近づけます。
転置式は、同じ文字がそのままなのに、ページが切り刻まれて順番だけ入れ替わっている状態です。
文字の偏りは見えていても、読むためには順序の復元が要ります。
頻度分析はその切り分けには効きますが、主力武器の座は並べ替えパターンの探索に譲ります。
効きにくい:同音換字・ヴィジュネル・機械式
頻度分析への対抗策としてまず分かりやすいのが、同音換字式暗号です。
これは高頻度文字に複数の記号を割り当てる方式で、たとえばEを一つの記号に固定せず、複数候補へ散らします。
すると本来なら突出して見えるはずの山が割れて、分布が平たくなります。
謎解きイベントでこの手の暗号文に出会うと、表を作っても「一位が一位らしく見えない」感覚になります。
筆者も、文字を数え終えたのにどこにも強い芯が見えない暗号文を前に、単純頻度だけで粘るのをやめ、記号の位置関係や繰り返しパターン、区切りの癖へ視線を切り替えたことがあります。
平たい分布を見た瞬間に、別の手段へ舵を切る判断が要るわけです。
ヴィジュネル暗号では、さらに事情が複雑になります。
位置ごとに別の換字表が使われるため、全体の単文字頻度はかき混ぜられます。
ここでは単純な頻度分析をいきなり当てるのではなく、まず鍵長を推定して列ごとに分ける必要があります。
カシスキー検定や一致指数(IC)が役立つのはそのためです。
全体のICが英語原文の約 0.068101 から離れ、ランダムな26文字列の約 0.038466 と英語の中間寄りに落ちるなら、多表式を疑う材料になります。
鍵長が 4〜8 程度なら、IC が 0.045 前後に見えることもあります。
列に分解したあとで、各列を単一換字式として読む。
頻度分析は無力になったのではなく、前処理なしでは届かない場所へ押し込まれているのです。
機械式暗号の代表例としてエニグマまで進むと、単純な頻度分析だけでは土俵に乗れません。
文字対応が固定されず、機械の回転や配線、プラグボード設定、運用上の癖が結果に強く影響します。
ここで必要になるのは、文字の偏りを眺めるだけの読み方ではなく、機械構造そのものの理解や、定型句、送信手順、既知平文のような運用上の手掛かりです。
頻度分析がまったく無意味というより、補助席に下がると考えたほうが正確です。
適用範囲を整理すると、こんな見取り図になります。
| 暗号方式 | 頻度分析の効きやすさ | 補助手法 |
|---|---|---|
| 単一換字式暗号 | 高い | 二文字・三文字頻度、単語形、カイ二乗統計 |
| 転置式 | 中程度 | 並べ替え規則の推定、グリッドや列長の探索 |
| 同音換字式暗号 | 低い | 長文での探索、記号分布の精査、構造的な仮説立て |
| ヴィジュネル暗号 | そのままでは低い | カシスキー検定、IC、鍵長推定、列ごとの頻度分析 |
| 機械式暗号 | 低い | 機械構造の理解、運用手掛かり、既知平文の活用 |
もう一つ見落としたくないのは、同じ方式でも文量と文体で難度が揺れることです。
短文、特殊な文体、固有名詞の多用、略語だらけの文では、単一換字式であっても頻度の山が育ちません。
逆に、長めの自然文なら統計はよく働きます。
頻度分析は魔法の鍵ではなく、十分な分量のあるテキストから癖を拾う技術です。
日本語にも応用の発想自体はありますが、そのまま英語の作法を移植することはできません。
かなと漢字が混ざり、分かち書きがなく、どの単位を一文字とみなすかも揺れるからです。
ひらがなだけに正規化するのか、漢字を含めて扱うのかで分布の意味が変わります。
英語のETAOINの感覚をそのまま持ち込むのではなく、文字体系そのものが違うと捉えたほうが、頻度分析の限界と可能性を正確に見渡せます。
頻度分析が生まれた背景——アル=キンディーから始まる解読法
9世紀のアル=キンディー
頻度分析の出発点として名前を挙げるべき人物は、9世紀のアル=キンディー(Al-Kindi)です。
暗号の歴史では「文字の偏りを観察すれば、見えない平文に近づける」という発想を文献としてはっきり記した最初期の存在として位置づけられます。
単一換字式暗号は、見た目こそ記号の迷路ですが、平文で多く現れる文字は暗号文でも多く現れるという癖を隠せません。
その癖を読むという、いま見れば素朴で、しかし決定的な一歩がここで言語化されました。
この着想が偶然ぽっと生まれたわけではないところも面白い点です。
当時のイスラーム世界には、言語研究の厚みがありました。
語学、文法、写本文化、行政文書の運用が積み重なっていたからこそ、文字の出現に規則性があるという観察が暗号解読へ接続されたのです。
暗号は遊びではなく、実務の技術でもありました。
書簡や命令文を守る必要があれば、それを破る技術も育つ。
頻度分析は、学問の机上だけでなく、実際に読まれては困る文を読むための方法として磨かれていったわけです。
筆者は図書館で写本レプリカのラテン語資料を手に取ったとき、この方法の原風景をつい想像しました。
表紙の硬さや紙のざらつきを指先で感じていると、当時の解読者が机に身を寄せ、鉛筆ではなく羽根ペンで文字の出現回数を一つずつ数えていた情景が立ち上がってきます。
いまなら表計算ソフトが一瞬で出す集計を、インクの乾きを待ちながら積み上げていたはずです。
頻度分析は統計の話である前に、人が紙の上で執念深く癖を読む技でもあったのだと実感します。
欧州への継承と広まり
この考え方は中世後期を通じて受け継がれ、15世紀ごろには欧州でも暗号運用と解読の実務の中で存在感を増していきます。
背景にあったのは、外交、宮廷政治、軍事連絡の拡大です。
国家や都市国家が書簡を暗号化する機会が増えれば、相手の暗号を読む必要も増えます。
すると、単に「秘密にする技」だけでなく、「秘密を破る技」も組織の能力になっていきます。
欧州で暗号が広まった時代の空気をたどると、頻度分析は実戦向きの道具でした。
単一換字式暗号の鍵空間は 26! で、数だけ見れば 4.03×10^26 通りあります。
ですが、現実の解読者はその巨大な候補を一つずつ総当たりしたわけではありません。
文字分布の偏りという近道があったからです。
しかも、英語のようなアルファベット言語では代表的な頻度順や、よく出る二文字・三文字の組み合わせが手掛かりになります。
秘密通信が増えるほど、統計を見る目を持つ者が有利になる構図でした。
理論上の一意復号距離は英語の単一換字式で約27.6文字ですが、実務的な安定度は文体や語彙で変わります。
現場でよく用いられる経験則(ヒューリスティック)としては、約30〜50文字ほどのまとまりがあると頻度による手掛かりが得やすいと考えられています。
多表式換字への動機づけ
頻度分析の歴史で見逃せないのは、この技法が単純換字を弱体化させたことで、次の暗号設計を生んだ点です。
単一換字式暗号は、一文字が常に同じ一文字へ写るため、平文の偏りが暗号文にそのまま残ります。
鍵空間の大きさは威圧感がありますが、実務の現場では統計の偏りがその威圧感を削ってしまったのです。
暗号作成者の側から見れば、「鍵が多い」だけでは足りず、「頻度の癖をどう隠すか」が課題になりました。
そこから自然に出てくる発想が、同じ平文文字を状況によって別々に置き換える方法です。
同音換字式暗号はその一つで、高頻度文字の山を割って平坦に見せようとします。
もう一段踏み込んだ解決策が、多表式換字です。
代表例として知られるヴィジュネル暗号では、位置に応じて別の換字表を使うため、暗号文全体を単一の頻度表だけで読めなくなります。
単純換字に対して有効だった「最頻文字をまず e とみなす」といった直線的な読み筋が、そのままでは通じません。
ここに、暗号史らしい“いたちごっこ”が見えます。
頻度分析が単純換字の弱点をあぶり出したからこそ、暗号は偏りを攪拌する方向へ進化しました。
そして多表式換字が広がると、解読側もまた手を伸ばします。
全体の頻度だけでは読めないなら、鍵長を推定し、列ごとに分け、各列を単一換字として扱う。
そうした流れの先に、カシスキー検定や一致指数のような道具が並ぶことになります。
単純換字を破った頻度分析は、それで役目を終えたのではなく、相手の改良に応じて自分も姿を変えながら生き延びたのです。
暗号の進化を眺めると、頻度分析は単なる古典的テクニックではありません。
解読法が一つ発明されると、その解読法を封じるための暗号が生まれ、さらにそれを崩す新しい読み方が育つ。
アル=キンディーの一歩は、その長い応酬の最初期に打ち込まれた楔でした。
古典暗号の歴史がいま読んでも面白いのは、ここに数学だけでなく、人間同士の知恵比べがくっきり残っているからです。
まとめ——頻度分析は統計で読む最初の暗号解読法
頻度分析の核心は、暗号文の表面が変わっても言語の偏りまでは消えきらない、という一点です。
だからこそ単一換字では暗号文単独攻撃の入口になり、文が長いほど仮説は輪郭を持ちます。
反対に、短文や同音換字、多表式、機械式では単純な文字数えだけでは届かず、一致指数やカイ二乗、ほかの手掛かりを重ねる視点が要ります。
手を動かすなら、短い単一換字の暗号文で最頻文字をまず e 候補に置き、そこから th、he、the を当てはめ、合わないところで仮説を直してみてください。
筆者は最初に the が読めて、一行の記号列が急に文章へ変わった瞬間をよく覚えています。
あの小さな達成感は、暗号を「統計で読む」感覚の出発点になります。
次に進むなら、ヴィジュネル暗号に触れつつ、カシスキー検定と一致指数を押さえると流れがつながります。
頻度分析は古典暗号の基本であると同時に、次の扉を開ける最初の暗号解読法です。
サイエンスライター。暗号と映画・文学・パズル文化の接点を探るコラムを得意とし、暗号を「解く楽しさ」から伝えます。
関連記事
換字式暗号と転置式暗号の違い|仕組み・例・解読
紙とペンを手にCATと書き、その場で二通りいじってみると、古典暗号の景色が一気に開けます。文字そのものを別の文字に替えれば換字になり、同じ三文字のまま並びだけを入れ替えれば転置になる――同じ平文でも、前者ではFDWのように姿が変わり、後者ではTCAのように位置だけが動きます。
ピッグペン暗号とは?フリーメイソンの記号暗号の仕組み
ピッグペン暗号は、図形記号を使う単一換字式暗号です。筆者も最初は紙に二つの3×3格子と二つのX字を書き、HELLOを一文字ずつ記号に置き換えてみましたが、読めない形が並んでいるのに自分だけは意味を知っている、その妙な手応えが強く残りました。
スキュタレー暗号とは?仕組み・歴史と弱点
古代スパルタで使われたと伝えられるスキュタレーは、棒に細長い帯を巻いて文字を書き、ほどくと読めなくなる道具であり、そのまま方式名としても語られる古典暗号です。文字を別の文字に置き換えるのではなく、順序だけを入れ替える転置式暗号で、鍵になるのは送受信者が同じ直径の棒、
エニグマ暗号機の仕組み|構造・暗号化・解読を図解
映画で見た光るランプの列を思い出しながら、筆者が紙の上で追ってみると、エニグマの1文字は右から左へ進み、反射して、また左から右へ戻る小さな旅をしています。その往復のあいだに、キーボード、プラグボード、ローター、リフレクター、ランプがどう噛み合うのかまで見えてくると、この機械は「複雑な箱」ではなく、