暗号史

キンディーと頻度分析——中世アラブ暗号学

更新: 織部 沙耶
暗号史

キンディーと頻度分析——中世アラブ暗号学

9世紀のバグダードでは、翻訳運動がギリシア語やシリア語の知をアラビア語へと流し込み、知恵の館を中心とする濃密な知的環境が育っていました。その空気のなかで、クーファに生まれ、バグダードで学び、アッバース朝の保護のもと活動した学者アブー・ユースフ・ヤアクーブ・イブン・イスハーク・アル=キンディーは、

9世紀のバグダードでは、翻訳運動がギリシア語やシリア語の知をアラビア語へと流し込み、知恵の館を中心とする濃密な知的環境が育っていました。
その空気のなかで、クーファに生まれ、バグダードで学び、アッバース朝の保護のもと活動した学者アブー・ユースフ・ヤアクーブ・イブン・イスハーク・アル=キンディーは、哲学者であると同時に、現存最古の体系的な暗号解析記録を残した人物として立ち現れます。
本稿は、9世紀バグダードの書記が暗号文を前に一文字ずつ数え上げる場面を入口に、紙と鉛筆だけで短い暗号文の文字を数え、ヒストグラムを描く小さな演習へ読者をご案内します。
単一換字式暗号は鍵候補こそ膨大でも、文字の偏りを隠せないかぎり頻度分析に崩される――その因果を追うと、のちに多表式換字暗号が求められた理由まで一本の線で見えてきます。

中世アラブ世界でなぜ暗号学が育ったのか

アッバース朝と翻訳運動

8世紀から13世紀にかけてのアッバース朝は、英語でAbbasid Caliphateと呼ばれ、単に広い領域を支配した王朝というだけでなく、知識を集め、移し替え、使い直す仕組みを育てた時代でした。
都バグダード、英語名Baghdadでは、ギリシア語、シリア語、ペルシア語などで伝わっていた学問が、アラビア語へ移される翻訳運動、英語でtranslation movementとして知られる運動のなかで再編されます。
哲学、医学、数学、天文学が同じ都市空間のなかで交差したことは、暗号学の発展を考えるうえでも見逃せません。

暗号は、ただ秘密の文字遊びから生まれるわけではありません。
言葉を細かく観察し、数え、比較し、規則を見つける習慣があってはじめて、解読の技法は形になります。
9世紀のバグダードには、その土台がありました。
アラビア語文法の研究、詩の韻律への関心、宗教テキストの精密な読解、算術や幾何の訓練、さらに天文観測にともなう記録作業が、一つの知的環境の中で並んでいたからです。
文字を「意味を運ぶもの」として読むだけでなく、「数えられる単位」として扱う感覚が、自然に育つ場所だったともいえます。

アブー・ユースフ・ヤアクーブ・イブン・イスハーク・アル=キンディー(Abū Yūsuf Yaʿqūb ibn Isḥāq al-Kindī)がその環境から現れたことは、偶然ではありません。
キンディーは9世紀の学者で、哲学者であると同時に数学者・科学者としても活動し、クーファに生まれ、バグダードで学び、アッバース朝の保護のもとで仕事をしました。
850年頃に書かれたとされる暗号文書の解読については、頻度分析に基づく暗号解析を記した現存最古の体系的文献として位置づけられます。
ここで際立つのは、ひらめきというより、翻訳運動が育てた横断的な知の作法です。
文字列を観察し、出現の偏りを取り出し、言語の規則と照らし合わせる発想は、数学と文法学の境界をまたいでいます。

クルアーン(Qur'an)研究との関係も、この文脈で理解すると腑に落ちます。
聖典の読解や朗誦をめぐる精密な言語研究が、アラビア語の文字や語形の偏りへの注意を深め、それが頻度という見方に通じたと考えられています。
ここは単純化しすぎないほうがよいものの、少なくとも中世アラブ世界では、言語研究と数量的観察が遠い営みではありませんでした。
暗号解読は、その交点から立ち上がった技術だったのです。

知恵の館(Bayt al-Hikma)の実像

中世イスラームの知的黄金期を語るとき、知恵の館(Bayt al-Hikma / House of Wisdom)は象徴的な存在として登場します。
とくにバグダードの学術拠点として広く知られ、翻訳、収集、研究の場として語られることが多い施設です。
キンディーもこの場に関わった人物として紹介され、翻訳監督、学者、研究者など、資料ごとに少しずつ異なる肩書きで現れます。

ただし、ここで現代の大学や国立研究所のような制度を、そのまま重ねてしまうと像が硬くなりすぎます。
知恵の館はたしかに学術活動の中心として言及されますが、近年の研究では、その組織構造や機能を一枚岩の制度として断定しない姿勢が取られています。
巨大な建物に部局が整然と並び、研究者が所属していた、という近代的イメージだけで描くと、実態を取り逃がします。
宮廷、蔵書、翻訳事業、学者のネットワークが重なり合う場として捉えたほうが、当時の空気に近いのです。

筆者が古文書アーカイブで中世行政文書の複写を追っていると、知の中心とは、静かな書斎だけを指さないことがよくわかります。
インク壺の脇に置かれた計算板、余白に書かれた訂正、別人の手で追記された数字。
そうした痕跡から見えるのは、知識が読書だけでなく、写すこと、照合すること、分類することのなかで動いていた世界です。
知恵の館もまた、その種の実務と学問が接続する場として想像するほうが自然でしょう。

ℹ️ Note

知恵の館を「中世の大学」と言い切るより、翻訳・収集・研究・宮廷実務が重なった知的結節点として捉えるほうが、現在の理解に沿います。

この見方に立つと、暗号学との距離も縮まります。
暗号の理論は抽象的に見えて、実際には文書を扱う世界のなかで育ちます。
翻訳が盛んで、異言語の対応関係が意識され、写本の誤りを見抜く訓練があり、数を用いて記録を整える習慣がある。
そうした環境では、文字列の背後にある規則を見つける技術が一段深く磨かれていきます。
頻度分析は、暗号だけのために突然生まれた技法ではなく、知識を整理し、比較し、正す文化の延長線上に置くと輪郭がはっきりします。

行政・学術・商業と暗号の接点

暗号学が中世アラブ世界で育った理由を考えるとき、宮廷の秘密通信だけに焦点を当てると全体像を見誤ります。
実際には、行政、財務、軍事、学術、商業のそれぞれで、記録と通信が大量に行き交っていました。
徴税の記録、物資の搬送命令、軍の連絡、遠隔地との商取引、学者同士の書簡。
こうした文書の往来が濃密であるほど、内容を守る必要も、それを読み解く必要も生まれます。
暗号実務は、例外的な秘密任務ではなく、文書国家の延長にあったのです。

その日常を思い浮かべると、暗号が生まれる場所はもっと手触りのある机の上にあります。
朝の書記室では、葦ペンを削った書記が出納帳の数字を写し、公文の文句を整え、急ぎの伝令文には人目を避けるための置換記号を差し込みます。
倉庫から届いた品目名を略号に変え、税の額を別表の符号で記し、夕方には別の書記が対応表を見ながら元の語に戻して照合する。
ひとつの記号違いが金額や命令の意味を変えてしまうから、隠す技術と読む技術は同じ机で鍛えられていきます。

この環境では、暗号化と解読が分業の両端に分かれていたわけではありません。
隠す側も、受け取る側がどう読めるかを考えねばならず、読む側も、どんな規則で置換されたかを推理しなければなりません。
行政文書の処理能力が高まるほど、記号の体系化も、統計的な観察も求められます。
文字頻度の発想は、まさにそこで力を持ちます。
単一換字式暗号は鍵の候補数だけ見れば膨大ですが、言語の偏りまでは消せません。
文字にはよく現れるものと、ほとんど現れないものがある。
この単純な事実を、文法学者と書記と計算に慣れた学者が共有していたことが大きかったのです。

しかも、バグダードの知の特徴は分野横断にありました。
算術は会計や測量とつながり、幾何は天文学や地図作成と響き合い、言語学は法学や聖典解釈と結びついていました。
ある分野で培われた「数える」「分類する」「誤差を見抜く」という技法が、別の分野に移植される土壌があったわけです。
暗号解析はその代表例で、言語の観察に数学的な整理を持ち込むことで、一見すると無秩序な暗号文のなかから規則を掘り起こしました。

キンディーの仕事が後世に長い影響を残した理由もここにあります。
彼を単純に「頻度分析の発明者」と呼ぶより、頻度分析に基づく暗号解析を記した現存最古の文献を残した人物と捉えるほうが正確ですが、その文献が生まれた背景には、知識の横断と文書実務の厚みがありました。
後に多表式換字暗号が発展していくのも、単一換字式がこの種の分析に耐えられないと理解されたからです。
中世アラブ世界は、暗号を使う必要があっただけでなく、暗号を「分析できる」と考えるための知的道具をすでに手にしていました。

キンディーとは何者か

正式名・生涯・拠点

キンディーの正式名は、Abū Yūsuf Yaʿqūb ibn Isḥāq al-Kindīです。
9世紀イスラーム世界を代表する学者の一人で、生年は801年頃、没年は873年頃と見るのが一般的ですが、866年頃に没したとする記述もあり、年代は幅をもって捉えるのが適切です。
出身地はクーファ(Kufa)で、学問的な活動の中心はバグダード(Baghdad)にありました。

この人物をひとことで定義するのは、実のところ難しいです。
哲学者として語れば、ギリシア哲学をアラビア語世界に根づかせた先駆者です。
数学者として見れば、数と比の扱いに通じた理論家です。
科学者として見れば、天文学、医学、光学、音楽論まで視野に入れた総合知の担い手でした。
暗号史の記事でキンディーの名を追っていると、つい「頻度分析の人」と細く切り取りたくなりますが、実像はそれよりずっと広く、むしろ9世紀バグダードの知的空間そのものを体現した人物といったほうが近いです。

キンディーがアラブの哲学者と呼ばれる背景も、単に有名だったからではありません。
ギリシア哲学を受け取り、それをアラビア語で論じ、しかも自前の思考として再構成した最初期の大知識人だったからです。
イスラーム世界の学者にはペルシア系やシリア系の知識人も多く含まれますが、キンディーはアラブ系の家柄に属し、そのうえで哲学を本格的に展開した存在でした。
そのため、アラブの哲学者という呼び名には、民族的出自と知的先駆性の両方が重なっています。

学問領域と主要著作

キンディーの著作は約200以上が伝わるとされます。
しかも、その題目を眺めると、ひとつの専門に閉じた学者ではなかったことがすぐに伝わってきます。
哲学、論理学、形而上学、算術、幾何学、天文学、医学、薬学、音楽論、気象、光学、さらには暗号解析まで、関心の広がりに途切れがありません。

筆者がこの人物の著作目録を追っていて強く印象に残るのは、題名の並び方そのものです。
第一哲学についてのような形而上学的な書名のすぐ近くに、数論や天文計算に関わる論考があり、さらに暗号文書の解読についてのような実務性の濃い題目が顔を出します。
音楽に関する論考、医学に関する論考、視覚や光の性質に触れる文章も並ぶ。
棚の一段ごとに別の学者がいるのではなく、一人の頭脳からこれらが出てきたと考えると、9世紀の学問がいかに学際的だったかが手触りをもって見えてきます。

この幅広さこそが、アラブの哲学者という呼称の中身です。
キンディーは哲学だけを論じた人ではなく、哲学的な問いを、数学と言語と自然研究のあいだで往復させた人でした。
たとえば数学は抽象理論としてだけでなく、音の比率や天文の計算や測定の問題とつながります。
医学も身体の観察にとどまらず、自然観や因果の理解と結びつきます。
暗号解析の仕事も、まさにこの横断性の延長線上にあります。
文字を数え、言語の偏りを捉え、規則を抽出する発想は、哲学者の抽象思考と数学者の計量感覚、その両方がなければ形になりません。

暗号史の文脈でとくに注目される著作が、暗号文書の解読についてです。
これは850年頃のバグダードで書かれたとされ、頻度分析に基づく暗号解析を記した現存最古の体系的文献として位置づけられています。
キンディーを「発明者」と言い切るより、この文献が残っていることに意味があります。
紙の上で文字を数え、出現の偏りから平文の候補を立てていく方法は、彼が一分野の奇抜な技巧家ではなく、言語と数を同じ机の上で扱える学者だったことをよく示しています。

宮廷の保護と学術ネットワーク

キンディーの知的活動を支えたのは、個人の才能だけではありません。
彼はアッバース朝の宮廷、とくにカリフアル=マアムーン(Al-Ma'mun、在位813–833)からアル=ムウタスィム(Al-Mu'tasim、在位833–842)にかけての時代に保護を受け、学術ネットワークのなかで活動しました。
9世紀のバグダードでは、翻訳者、書記、医師、数学者、哲学者が互いに遠い存在ではなく、宮廷文化の周囲で結びついていました。
知識は書斎の奥だけで生まれるのではなく、蔵書の収集、翻訳の依頼、写本の校訂、学問的助言といった営みを通じて循環していたのです。

キンディーはその環の中心近くにいたと見てよい人物です。
知恵の館(Bayt al-Hikma)への関与も広く語られますが、ここは言い方に少し幅があります。
資料によって、彼は「翻訳監督」と表現されることもあれば、「学者」「研究者」と記されることもあります。
どの呼び名を採るにしても共通しているのは、キンディーが翻訳運動と学術交流のただ中にいたという点です。
ギリシア語やシリア語から移された知を受け取り、それを整理し、批判し、アラビア語の思考として組み替える作業に深く関わっていたからこそ、彼の著作群には多分野が自然につながっています。

この宮廷との距離感も、キンディー像を立体的にします。
王朝の保護は学問の自由な開花を助ける一方で、宮廷の政治や寵遇の変化から切り離されてはいません。
学者は純粋な研究者であると同時に、知識を必要とする権力の近くで働く存在でもありました。
だからこそ、哲学、医学、天文学、数学、そして文書を読み解く技法が一つの世界の中で結びつきます。
暗号解析がそこから生まれたのは、後から見ると自然な流れです。
宮廷は秘密を必要とし、行政は記録を必要とし、学者はその両方を支える言語と数の技術を持っていたからです。

キンディーという人物を見ていると、9世紀バグダードの知は、分野ごとに棚で仕切られていたわけではないことがよくわかります。
哲学者であり、数学者であり、科学者であり、宮廷に連なる知識人でもある。
その重なりがあったからこそ、後世の暗号史に残る一篇の解読論文もまた、孤立した技術文書ではなく、広大な学術ネットワークの産物として読めます。

頻度分析はどのように生まれたのか

文字の偏りという観察

頻度分析とは、言語ごとに文字の出現回数には偏りがあるという観察を手がかりに、暗号文の文字と平文の文字を対応づけていく解読法です。
発想の芯は驚くほど素朴で、長い文章ではどの文字も同じ回数だけ現れるわけではない、という一点にあります。
単一換字式暗号のように「平文の1文字が、暗号文の1文字へ固定的に置き換わる」方式では、この偏りが暗号文の側にも形を変えて残ります。
そこで、暗号文でいちばん多い文字を、その言語で最頻の文字候補に当てていくわけです。

英語を例にすると、この偏りはつかみやすく見えます。
代表値として、英語では e が約12.7% を占める一方、J・Q・X・Z の合計は1%未満 に収まります。
ここで筆者がよくやる小さな手遊びがあります。
短い英語文を一つ選び、紙でもメモ帳でもよいので、行内で e にだけ印を付けながら数えてみるのです。
たとえば数行ほどの平文でも、e が何度も顔を出す一方で、q や z は一度も出ないことが珍しくありません。
統計という言葉を持ち出す前に、目で追って数えるだけで「文字は均等には出てこない」という感覚が手に入ります。
この身体感覚が、頻度分析の出発点でした。
ただし、この偏りは英語に固有のものではありません。
言語ごとに異なる分布を持つ点が肝心なのです。
英語で e が多いからといって他の言語でも同じとは限りません—アラビア語は別の偏りを示します。
アラビア語では、子音中心の表記や短母音記号を省く慣習が、頻度の見え方に影響を及ぼします。
たとえば、ذلك や كتاب といった語を例にとると、母音記号を数えるか字母だけを見るかで観察の前提が変わってきます。
写本や通常表記では短母音記号が省かれることが多く、古典文献の頻度を扱う際は字母の偏りに注目するほうが実務的と言えるでしょう。
では、この「文字には偏りがある」という発想は、どこから生まれたのでしょうか。
9世紀の知的環境を考えると、アラビア語そのものへの深い観察が土台にあったことは確かです。
文法学、辞書学、注釈学、朗誦、写本の校訂といった営みでは、単語や語形だけでなく、文字の並びや用法に対する鋭い感覚が必要でした。
暗号解析は、そうした言語観察を別の方向へ押し広げたものとして理解できます。

そのなかでしばしば指摘されるのが、コーラン研究との関係です。
クルアーン研究では、語彙や表現の反復、綴り、朗誦、写本上の差異に対する注意が早い段階から育っていました。
そこから、文字や語の出現傾向に対する意識が養われ、頻度分析の着想を促したのではないか、という見方があります。
この結びつきは有力視される説明ではありますが、現存する史料だけで「頻度分析はコーラン研究から直接生まれた」と断定するのは踏み込みすぎです。
ここでは、コーラン研究を含む広い言語統計的関心が、着想を後押しした可能性が高いと捉えるのが穏当です。

筆者はこの点に、9世紀バグダードの学問の空気らしさを感じます。
聖典を正確に読むための観察、正しいアラビア語を記述するための観察、文書を解読するための観察が、きれいに分業されていたとは考えにくいからです。
ある写本で文字の揺れを見分ける目と、ある暗号文で不自然な出現頻度を見抜く目は、同じ机の上で育っていても不思議ではありません。
頻度分析は突然のひらめきというより、言語を数え、比べ、規則を見いだす文化の延長から立ち上がったと見るほうが自然です。

写本・再発見と評価

この発想を体系だった方法として残した人物が、キンディーです。
彼の暗号文書の解読については、850年頃に書かれたとされ、現存するもののなかでは最古級の体系的な暗号解析論文として評価されています。
ここで価値があるのは、単に「昔から誰かが思いついていたかもしれない」という話ではなく、文字頻度を使ってどう解くかが文章として整理されていることです。
観察を技法へ変えた、その形が見えるわけです。

この論文は後世に写本として伝わり、通俗的にはイスタンブール由来の写本群から再発見されたと伝わることがあります。
ただし、どの写本がいつどの図書館に入ったかといった写本の具体的な来歴については一次資料による確認が限定的であり、来歴の詳細は未確定です。

キンディーの解読法を手順で追う

単一換字式暗号(monoalphabetic substitution cipher)は、平文の各文字を1対1の固定置換で別の文字に置き換える方式です。
A は常に同じ暗号文字へ、B も常に別の一文字へ写ります。
見た目には組み合わせが膨大でも、同じ文字が同じ文字に置き換わり続ける以上、言語の偏りそのものは暗号文の側に残ります。
キンディーが見抜いたのは、この痕跡でした。

ここでは、その解読法を机の上でたどれる形に分解してみます。紙を一枚、できれば方眼のメモを用意すると、9世紀の書記の手つきが少しだけ身近になります。

準備:平文コーパスを用意

まずやるべきことは、暗号文そのものをにらむことではありません。
先にその言語がふだんどう現れるかを知ることです。
言い換えると、平文サンプルの集まり、つまりコーパスを用意します。
キンディーの発想を現代の言葉に置き換えるなら、「対象と同じ言語、できれば同じ文体の平文を集める」が出発点になります。

手順を番号で追うと、流れはこうなります。

  1. 暗号文と同じ言語、できれば近い文体の平文サンプルを集めます。私信なら私信、宗教文書なら宗教文書、行政文書なら行政文書に寄せるのが筋でしょう。
  2. 集めた平文から文字頻度表を作成しますよ。
  3. 暗号文の文字出現頻度を数えますね。
  4. 頻出文字どうしを対応づけて仮復号してみます。
  5. 2文字・3文字の並びや語境界、文脈を使って仮説を修正していくでしょう。

この一歩目でつまずくと、その後の推理がずれていきます。
英語の新聞記事を基準にして詩を解こうとすると、語彙も綴りも違い、頻度の山が思うように重なりません。
筆者が演習でよく感じるのは、頻度分析は「文字の数え上げ」であると同時に、「その文章がどんな世界に属しているかを見極める作業」でもあるということです。

平文サンプルは長いほど有利ですが、短文だけで済ませると統計が落ち着きません。
とくに数十文字から百文字前後の断片では、たまたま固有名詞が多い、語尾が偏る、といった偶然が目立ちます。
ある程度まとまった長さがあると、上位文字の順位がようやく安定してきます。
手計算なら骨が折れますが、ここを省くと後で何度も巻き戻すことになります。

小さな課題として、まずは短い英語文を一つ選び、空白を除いて文字だけを書き出してみてください。
A から Z までの欄を作り、出るたびに正の字を付けていくと、数える行為そのものが解読の入口だと実感できます。
機械に任せれば一瞬の仕事ですが、手で数えると、よく出る文字とめったに出ない文字の差が指先に残ります。

頻度表の作成

次に、集めた平文サンプルから文字頻度表を作ります。
ここでは記号や句読点をどう扱うか、大小文字を統一するかといった前処理を先に決めておきます。
暗号文の処理と条件をそろえないと比較にならないからです。

  1. 平文サンプルを正規化し、対象とする文字集合を決めます。
  2. 各文字の出現回数を数えます。
  3. 回数の多い順に並べ、必要なら割合に直します。
  4. 棒の長さで比較できるよう、簡易ヒストグラム(histogram)にします。

たとえば平文サンプルとして、空白を除いた短い英語文を使うなら、こんな形で表にできます。

文字回数
E6
T4
H4
O3
A2

図にすると、読者が一目で山をつかめます。

平文サンプルの簡易ヒストグラム
E: ######
T: ####
H: ####
O: ###
A: ##

この節では、図表を一つ入れると理解が進みます。
平文側の頻度表と、次の小見出しで扱う暗号文側の頻度表を左右に並べる設計にすると、キンディーの方法が「比較」によって動く技法だと伝わります。
棒の高さを厳密な統計図にする必要はなく、記事内では文字ごとの回数差が見える簡易図で十分です。

筆者はここで、頻度表をいきなり完璧なものとして扱わないようにしています。
上位数文字だけでも、推理の足場としては機能するからです。
全部を埋めてから考えるのではなく、まず山の高いところを見る。
これは紙の上で解くときの呼吸に近いものがあります。

暗号文の頻度を数える

平文側の目安ができたら、今度は暗号文を同じ要領で数えます。ここで初めて、暗号文がただの記号列ではなく、偏りを持つ言語の影として見えてきます。

  1. 暗号文を文字ごとに分解し、空白や記号の扱いを決めます。
  2. 各暗号文字の出現回数を数えます。
  3. 多い順に並べ、平文側の頻度表と比べます。

具体例を置いてみます。たとえば、次のような暗号文があるとします。

XQF ZXF QEB QLKP XKA QEB JXWV

空白を除いて数えると、上位はこんなふうになるかもしれません。

暗号文字回数
Q4
X4
E2
B2
F2

簡易ヒストグラムにすると、平文側との見比べがしやすくなります。

暗号文の簡易ヒストグラム
Q: ####
X: ####
E: ##
B: ##
F: ##

ここでも小課題を一つ入れておくと、読者の手が止まりません。
上の暗号文を見て、自分で正の字を付けながら数えてみると、同じ文字が思ったより何度も戻ってくることに気づきます。
暗号は一見ばらばらでも、単一換字式である限り、頻出文字はやはり頻出文字です。
この感覚は、一覧表を眺めるだけでは入りにくいところです。

短い暗号文では、この段階の数字を過信しないほうがよい場面もあります。
文字数が少ないと、本来は上位に来るはずの文字がたまたま沈み、逆に普段は目立たない文字が上に出ることがあるからです。
頻度分析は魔法ではなく、統計の上に立つ推理です。
材料が少なければ、推理はどうしても揺れます。

対応づけと仮復号

平文側と暗号文側の頻度表がそろったら、いよいよ対応づけです。
ここがいちばん「解いている」手触りのあるところでしょう。
最頻の暗号文字を、平文で最も出やすい文字に仮置きし、その次も順に当てていきます。

  1. 暗号文で最も多い文字を、平文で最も多い文字候補に仮対応させます。
  2. 2番目、3番目の頻出文字も同様に候補を置きます。
  3. その対応表で暗号文の一部を仮復号します。
  4. 文字列として無理がないかを見ます。

たとえば、暗号文で Q と X が目立つなら、平文側で頻出しやすい文字をまず割り当ててみる。
すると、全文を一気に読めなくても、ところどころに「ありそうな形」が現れます。
単語の骨組みが見えた瞬間に、ただの統計が言語へ変わるのです。

この段階では、仮復号という姿勢が欠かせません。
最初の対応は、当たることもあれば外れることもあります。
筆者は紙で解くとき、確信の弱い対応には薄く書き、手応えのある対応だけを濃く残します。
すべてをインクで確定してしまうと、誤対応を外すたびに全体が崩れます。
鉛筆で欄外に小さな対応表を書き、入れ替えた履歴を残しておくと、巻き戻しが効きます。

単一換字式暗号の鍵候補は膨大ですが、頻度分析は総当たりをしません。
ありえそうな対応から先に当て、言語の側がそれをふるいにかける。
この順番だから、人間の手でも前へ進めます。

n-gramと文脈で修正

頻度分析の醍醐味は、単文字だけで終わらないところにあります。
仮復号で見えてきた文字列を、2文字・3文字の並び、つまり n-gram の目で見直すと、誤った対応が一気に浮いてきます。
n=2 なら bigram、n=3 なら trigram です。

  1. 仮復号した文字列の中で、よく現れる2文字の並びを探します。
  2. その並びが、その言語で自然な bigram かを見ます。
  3. 3文字の並びや語の切れ目も確認します。
  4. 不自然な箇所があれば、対応表を一つずつ入れ替えて再試行します。

英語なら、th や he のような bigram は強い手がかりになります。
仮復号の断片に _h や t_ が何度も出てくるとき、そこに th を当てると単語の輪郭が急にはっきりすることがあります。
さらに the のような trigram が見えれば、前後の文字も連鎖的に決まっていきます。
読者にもぜひ試してほしいのは、この「二文字の当たり」から単語の形を推理する感覚です。
単文字頻度だけでは平面的だった暗号文が、n-gram を通すと急に立体になります。

語境界が残っている暗号文なら、単語の長さも頼りになります。
3文字語が何度も現れるなら、冠詞や前置詞に当たりそうな語を探せます。
4文字語や5文字語の反復が見えれば、文体に固有の語も浮いてきます。
語境界が消されていても、bigram や trigram の連続を見ると、不自然な綴りの固まりが見つかります。
そこが誤対応の疑いどころです。

ここで大切なのは、間違いを見つけたときに全部を壊さないことです。
一文字の対応を直すだけで、複数の単語が同時に自然になるなら、その修正は有力です。
反対に、一か所を直したせいで別の箇所が次々と崩れるなら、その変更は外れである公算が高い。
筆者はこの段階を、鍵穴に鍵を差し込み、半回転ずつ確かめる時間だと感じます。
力任せに回すのではなく、少し回して、引っかかりを聞く。
その積み重ねで、仮説は解読へ変わります。

なぜ単一換字式暗号は破られるのか

分布が保存される宿命

単一換字式暗号が破られる理由は、仕組みそのものの中にあります。
各文字の対応が最初から最後まで固定だからです。
平文の A が暗号文では常に Q、E が常に X という具合に、置換表が一枚きりで動きません。
すると、文字の「出やすさ」まで一緒に運ばれます。
文字そのものは別名に変わっても、分布の形は残るのです。

直感的には、色のついた瓶に別のラベルを貼る場面を思い浮かべると近いでしょう。
赤い瓶が多く、青い瓶が少ない棚に、まったく別の記号ラベルを貼っても、多い瓶はやはり多いままです。
名前を隠しても、山と谷までは消えません。
単一換字式暗号でも同じで、平文で頻出する文字は、暗号文でも「ある特定の暗号文字」として頻出します。

図にすると、この写り方はこう見えます。

平文の頻度分布
E: ######
T: ####
H: ####
O: ###
A: ##

固定置換をかける
E→X, T→Q, H→F, O→B, A→M

暗号文の頻度分布
X: ######
Q: ####
F: ####
B: ###
M: ##

棒の高さはそのままで、ラベルだけが入れ替わっています。
ここに単一換字式の弱点が凝縮されています。
暗号として見ると文字は読めなくなっていますが、統計として見ると平文の影がそのまま残っています。

筆者が講義や原稿の下書きでこの話を説明するとき、よく「上位の二、三文字だけを仮に入れ替える」場面を作ります。
最初は無意味な記号の壁に見える暗号文でも、頻度上位の文字にそれらしい候補を当てると、急に語の骨格が立ち上がってきます。
全文が読めるわけではないのに、三文字語の形や繰り返しの位置が、人間の言語らしい輪郭を帯び始めるのです。
この瞬間に、読者は「暗号が漏らしている情報」を体で理解します。
破られているのは鍵そのものというより、固定対応が作る偏りの写し絵です。

シーザー暗号との連続性

この性質は、古典暗号の代表例であるシーザー暗号にもそのまま当てはまります。
シーザー暗号は、アルファベットを一定数ずらすだけの方式ですが、これは見方を変えると固定置換のひとつです。
A を D に、B を E に、C を F に送るという規則も、結局は「対応が固定された単一換字式」にほません。

つまり、シーザー暗号は単一換字式暗号の特殊な場合です。
違いは、置換の作り方が単純な循環シフトに限られていることだけです。
だから弱点も同じです。
平文でよく現れる文字は、シフト後もどこか一文字に集中します。
暗号文の頻度表を作れば、そこから平文側の偏りを逆算できます。

シーザー暗号は鍵候補が少ないため、総当たりでも破れます。
しかし、それだけが脆弱さの理由ではありません。
たとえ候補数を知らなくても、頻度分布を眺めれば、どの文字が高頻度で、どの文字が低頻度かという言語の癖が見えてしまいます。
ここが単一換字式との連続性です。
シーザー暗号は「簡単だから破れる」のではなく、固定対応であるかぎり頻度の形を隠せないので破られます。

この連続性を押さえると、古典暗号の進化も見通せます。
シーザー暗号から一般の単一換字式へ進むと、鍵の自由度は増えます。
それでも固定置換である事実は変わりません。
だから、頻度分析の前では本質的な弱点が残ります。
さらに後の多表式換字暗号が登場するのは、この固定性を崩し、同じ平文文字を場面ごとに別の暗号文字へ散らしたかったからです。

26!の巨大さと過信の落とし穴

一般の単一換字式暗号では、英字 26 文字の対応をどう並べ替えるかで鍵が決まります。
候補数は 26! ≈ 4.03×10^26 です。
数字だけを見ると、気が遠くなる大きさです。
この値だけを眺めると、「そんなものは到底試しきれないのだから安全だ」と感じてしまいます。

ところが、実際の解読はその巨大な鍵空間を端から順に歩きません。
頻度分布、文字の反復、二文字や三文字の並び、語の形といった言語の漏れを手がかりにして、ありえない候補を先に落としていきます。
言い換えると、単一換字式暗号は鍵候補の数では威圧的でも、暗号文が多くの情報を外へこぼしているため、探索空間が急速に縮みます。

ここで見えてくるのが、「大きい鍵空間」と「安全性」は同じではないという事実です。
もし暗号文が文字ごとの偏りをそのまま保存し、よくある並びまで残しているなら、攻撃者は 26! 通りを公平に相手にしているわけではありません。
山ほどある候補のうち、言語として成立しないものは最初から脇へ退きます。
残るのは、統計と文脈に合うごく一部です。
単一換字式暗号の敗因は、ここにあります。

ℹ️ Note

鍵の候補数が大きくても、暗号文が手がかりを漏らしていれば安全にはなりません。単一換字式暗号は「鍵を隠している」のではなく、「対応表だけを隠して、分布の形は見せている」方式です。

筆者はこの落とし穴を、古文書館で復元表を追う作業に少し似ていると感じます。
最初は無数の可能性があるように見えても、文字の山、繰り返し、語尾の癖が一つ見えるたびに、景色が狭まっていきます。
同じ暗号文でも、頻度上位の二、三文字を入れ替えて仮復号を走らせるだけで、ばらばらだった断片が急に文章らしく並び直すことがあるのです。
その瞬間、26! という桁外れの数は、現場の手触りとしてはあまり脅威に見えなくなります。
巨大な鍵空間よりも、固定置換が残してしまう情報のほうが、解読者にとってはずっと豊かな道しるべになるからです。

キンディー以後、暗号はどう進化したのか

ルネサンスへの伝播

キンディーが切り開いた頻度分析の発想は、そこで歴史の幕を閉じませんでした。
むしろ本当のドラマはその後に始まります。
単一換字式暗号の弱点が見えてしまったことで、暗号を作る側は「同じ文字が、いつも同じ文字に化ける」という前提そのものを壊そうと考えるようになります。
この発想が、ルネサンス期ヨーロッパで新しい暗号設計を生み出していきました。

9世紀のイスラーム世界で育った知の蓄積は、翻訳や学術交流、外交文書の実務を通じて、のちのヨーロッパ知識圏へと流れ込みます。
ルネサンスの人文主義者たちは古典文献だけでなく、書記術、記号法、秘密通信の技法にも強い関心を寄せました。
そこで受け継がれたのは「暗号を隠す」技法だけではなく、「暗号は統計から破られる」という厄介な認識でした。
単一換字式暗号は、鍵の並べ替え候補がいくら多くても、文字分布の癖を暗号文の表面に残します。
ならば、その分布自体を散らしてしまえばよい。
発想の転換点はそこにあります。

この流れの先頭に立つのが、イタリアのレオン・バッティスタ・アルベルティです。
彼は約1467年の暗号論で、のちにアルベルティ円盤として知られる仕組みを記しました。
外側と内側の二枚の同心円盤をずらして対応関係を作り、途中で内円を回して置換表を切り替える方式です。
ここで初めて、「一つの暗号文の中で、置換規則を途中から変える」という考え方がはっきり姿を現します。
単一換字式暗号が一枚の対応表に依存していたのに対し、アルベルティは複数の対応表を時間差で使う道を開いたのです。

筆者がこの仕組みを人に説明するとき、机上で短い例を書いてみることがあります。
たとえば平文の「MEET」を、最初の二文字は置換表A、後ろの二文字は置換表Bで暗号化するとします。
置換表Aでは M が Q、E が L に変わり、置換表Bでは E が X、T が H に変わる、と決めるだけです。
すると「MEET」は「QLXH」になります。
同じ E が前半では L、後半では X になり、単一換字式のように一つの暗号文字へ固定されません。
紙の上でこの変化を見ると、多表式換字の狙いが一気に腑に落ちます。
崩したいのは単語そのものより、まず単一頻度の山だったのだとわかるからです。

多表式換字の登場

アルベルティの着想は、16世紀に入ると、より運用しやすい形へと整理されていきます。
その系譜で押さえたいのが、ジャン・バッティスタ・ベッラッソとブレーズ・ド・ヴィジュネルです。

ベッラッソは1553年のLa Cifraで、共有したキーワードに従って置換表を切り替える方法を示しました。
ここで暗号は、機械的な円盤操作だけでなく、文字列としての鍵を使って運用できるものになります。
たとえば鍵語の各文字が「どの行を使うか」を決め、平文を一文字ずつ異なるシーザーシフトでずらしていく。
こうして同じ平文文字でも、位置によって異なる暗号文字へ送られる構造が整いました。
アルベルティが開いた「切り替える暗号」の発想を、ベッラッソが実務向けに磨いたと言ってよいでしょう。

その後、ヴィジュネルは1586年のTraicté des chiffresで複数の方式を整理し、オートキー型を含む洗練された形を示します。
今日「ヴィジュネル暗号」と呼ばれるものは、歴史的にはベッラッソの先行する発想と混同されて広まった呼称ですが、通史として見るなら、アルベルティ、ベッラッソ、ヴィジュネルの順に、多表式換字が理論から実用へ、さらに体系化へ進んだと捉えるのが自然です。

この新方式の価値は明快です。
単一換字式暗号では、平文中で多く現れる文字は暗号文でもどこか一文字に集中しました。
多表式換字では、その集中が複数の暗号文字へ分散されます。
解読者が暗号文を眺めても、以前のように「最頻文字は平文のこの文字だろう」と一気に踏み込めなくなるのです。
キンディーの方法が有効だったからこそ、それをかわす設計が必要になった。
ここに、暗号設計が解析法によって押し上げられる歴史の典型があります。

暗号と解読の共進化

もっとも、多表式換字が登場したからといって、勝負が終わったわけではありません。
暗号史は一方の勝利ではなく、常に対抗策が生まれる連鎖で進みます。
多表式換字が単純な頻度分析を鈍らせると、解読側は今度は周期を探し始めました。

その代表が1863年に公刊されたカシスキー試験です。
ヴィジュネル型暗号では、短い鍵を繰り返して使うことが多いため、暗号文の中に同じ鍵位置で生じた繰り返しが残る場合があります。
そこから鍵長の候補を絞り、暗号文を鍵長ごとの列に分けると、各列は結局シーザー暗号に近い形へ戻ります。
すると、今度は列ごとの頻度分析が効いてきます。
多表式換字は単一頻度を散らしましたが、繰り返し鍵という別の痕跡を残していたのです。

筆者はこの段階の歴史を見るたび、暗号と解読は鏡合わせだと感じます。
ある弱点をふさぐと、今度は別の規則性が露出する。
固定置換をやめれば周期が見え、周期を長くすれば運用の負担が増え、運用を簡略化すればその癖が読まれる。
暗号設計者は人間が扱える仕組みを求め、解読者はその「扱いやすさ」から糸口を見つけるのです。
ここにあるのは、技術だけでなく実務の歴史でもあります。

鍵長推定のあとに反復鍵を見抜く発想も、この系譜の延長線上にあります。
暗号文を鍵長で区切って列ごとに眺めると、各列の統計は再び言語の影を帯びます。
単一文字頻度に加え、二文字・三文字の並びまで見る解析が加わると、見かけ上は複雑な暗号文も少しずつ言葉へ戻っていきます。
暗号側が表を増やせば、解読側は分析の層を増やす。
いたちごっこの構図です。

その先の機械式暗号の時代になると、この競争はさらに深まります。
エニグマのようなローター機では、同じ文字入力でも機械の回転によって逐次別の文字へ変わるため、単文字頻度だけを眺めても手がかりは乏しくなります。
解析は統計だけでなく、機械構造、運用手順、反復するメッセージ習慣まで巻き込む総力戦へ変わりました。
キンディーの頻度分析は古典的な方法でありながら、その後の暗号史全体を動かす最初の一手でもあったのです。

現代に残る遺産

現代暗号との距離感

キンディーの頻度分析を語るとき、現代の暗号全般にそのまま通用する万能の解読法のように受け取るのは正確ではありません。
これは公開鍵暗号のような現代暗号を直接破る手法ではないからです。
RSAのような方式は文字を一字ずつ置き換える構造ではなく、大きな数の算術や鍵の性質に支えられています。
そこでは、暗号文中の文字の多い少ないを数えても、単一換字式暗号を前にしたときのような手応えは得られません。

この距離感は、古典暗号を過小評価しないためにも、現代暗号を神秘化しないためにも欠かせません。
頻度分析は現代暗号の主戦場そのものではありませんが、暗号を「作る側」ではなく「破る側」の視点から眺め、通信に残る規則性を観測し、そこから仮説を立てて検証するという流れを、はっきりと方法として示しました。
暗号解析の歴史を長く見ていると、ここで初めて、暗号が単なる秘術ではなく、観察できる対象へ変わったことがわかります。

筆者はブレッチリー・パーク関係の資料を読んでいるときも、この連続性をよく感じます。
時代が下れば相手はエニグマになり、さらに現代では数学的な安全性評価へと舞台が移りますが、根にある態度は同じです。
相手の仕組みを仮定し、どこに偏りや漏れが残るかをモデル化し、観測可能な痕跡から攻撃の道筋を組み立てる。
キンディーの仕事は、その最初の輪郭を与えたという意味で、今も暗号解析史の起点に置かれます。

統計的思考の継承

キンディーが持ち込んだものは、単なる「文字を数えるこつ」ではありません。
言語には偏りがあり、その偏りは暗号文にも影を落とすという見方です。
ここには統計、言語、攻撃者思考がひとつに結びつく瞬間があります。
どの文字が多いかを見る単文字頻度から出発して、やがて連続する文字列の偏りを見るn-gramへ、さらに言語全体の不確実性や情報量を考える情報理論へと、この発想は自然に伸びていきました。

たとえば単文字だけでは候補が絞れないとき、二文字・三文字の並びを見ると、言語らしさが急に立ち上がることがあります。
これはbigramtrigramの発想そのものです。
現代の自然言語処理で使われる言語モデルも、発展の規模こそ違え、どの並びが現れやすいかを数え、比較し、もっともらしさを評価する点では遠い親類です。
もちろん、キンディーが現代の言語モデルを予告していたわけではありません。
ただ、記号列を観測し、そこに潜む偏りを手がかりに内部構造を推定するという姿勢は、確かに同じ系譜にあります。

セキュリティ評価の方法論にも、この継承は見えます。
どのような攻撃者を想定するか、相手に何が観測できるか、どの仮定が崩れると安全性が揺らぐか。
こうした問いは、現代では数学的証明や厳密なモデルで扱われますが、出発点には「観測できるものから相手の秘密へ迫る」という古典的な目があります。
キンディーの頻度分析は、暗号解析を偶然のひらめきではなく、観測にもとづく知的作業へ押し出したのです。

学びと楽しみとしての価値

この技法が今も生きている理由は、歴史的な記念碑だからだけではありません。
教育の場でも、CTFの初級問題でも、頻度分析は「暗号を破るとはどういうことか」を手で理解させてくれます。
単一換字式暗号の鍵候補は 26! という天文学的な大きさに見えますが、総当たりに頼らず、言語の偏りから候補を削っていくと、急に景色が変わります。
ここで学べるのは古典暗号の知識だけではなく、観察して、仮説を置いて、外れたら修正するという解析の基本動作です。

筆者が講義や読書会でよく出すのは、ごく短いミニ課題です。
100文字の暗号文を用意して、まず最頻の3文字を当ててみる。
これだけでも、参加者の表情は驚くほど変わります。
暗号文は一見すると無秩序なのに、数え始めると小さな山が見えてくるからです。
うまく進めるこつは二つで足ります。
ひとつは、句読点や空白の扱いを最初に決めて、数え方を途中で変えないこと。
もうひとつは、最頻文字だけで即断せず、上位3文字の組み合わせとして眺めることです。
単独の一文字は偶然でぶれますが、上位の並びには言語の癖が残ります。

この小さな演習には、古典暗号理解の入口としての魅力があります。
シーザー暗号から単一換字式暗号へ、さらにアルベルティやヴィジュネルへ進むと、なぜ暗号が複雑化したのかが物語としてつながるからです。
解読法が生まれ、対抗策が作られ、その対抗策にもまた弱点が見つかる。
その連鎖を手のひらの上で追えることが、頻度分析を今も学ぶ価値にしています。
歴史を知るための題材であると同時に、セキュリティを攻撃者の目で考える最初のレッスンでもあるのです。

まとめと次の一歩

この記事の要点

9世紀のバグダードでキンディーは、暗号を勘や秘術ではなく、文字の偏りを数えて読む対象へ変えました。
方法は頻度分析、結果は単一換字式暗号の弱点の露出です。
鍵の並べ方がどれほど多く見えても、言語の癖は暗号文に残る。
その発見が、固定対応では守れないという認識を生み、やがてアルベルティ以後の多表式換字へ道を開きます。

流れを手の中でつなぐなら、まず本文のキンディーの解読法を手順で追う節とキンディー以後、暗号はどう進化したのか節を順に辿ってみてください。
筆者は読後の一歩として、好きな短文で小さな頻度表を作る演習を勧めます。
短い一文でも、数え始めると文字の山と谷が立ち上がり、キンディーの発想が急に身近になります。

  • 句読点と空白をどう扱うか先に決める
  • 文字を一つずつ数え、上位だけ抜き出す
  • 平文らしい頻出文字を仮に当てて対応を考える

制作メモ

参考・外部リンク: Al-Kindī — Britannica(アル=キンディー) Kasiski examination — Wikipedia(Kasiski 試験の概説)

www.britannica.com

シェア

織部 沙耶

科学史・技術史を専門とする歴史研究者。エニグマ解読からWWII暗号戦まで、暗号が歴史を動かした瞬間を一次資料に基づいて描きます。

関連記事

暗号史

毎朝のブレッチリー・パークには、数千通の無線電文が積み上がり、その日のうちに鍵が変わる切迫のなかで解析が始まりました。そこで働いたAlan Mathison Turingを、単なる暗号解読者としてではなく、暗号解読・計算理論・AI思想を貫いた人物として捉え直すのが、本記事の出発点です。

暗号史

朝、まだ霧の気配が残るうちにYサービスの傍受記録が束になって運び込まれ、各Hutへ配られた瞬間から、ブレッチリー・パークの一日は動き出しました。日付が変わる前にドイツ軍の鍵設定はリセットされる。

暗号史

エニグマ解読史は、しばしば英国のブレッチリー・パークだけの英雄譚として語られます。けれど実際には、1932年にポーランド暗号局が開いた数学的突破口があり、1939年7月のワルシャワ近郊では複製機やZygalski sheetsが机上に並び、その知見が英仏へ手渡されていました。

暗号史

ブレッチリー・パークの小屋に朝が来るたび、日付とともに鍵はリセットされ、打鍵の音、リレーの唸り、紙テープの風切り音がせわしなく重なりました。そこでまず混同をほどいておくと、ボンブ=エニグマ、コロッサス=ローレンツ(Tunny)です。