100年以上未解読の第一次世界大戦・ドイツ軍暗号電報、GPT-6 Astraが解読に成功

100年以上未解読の第一次世界大戦・ドイツ軍暗号電報、GPT-6 Astraが解読に成功

AIGPT-6暗号技術

データソース:HN + web research

1918年11月27日に送信されたドイツ軍の無線暗号電文は、科学ブログポータル scienceblogs.de がまとめた「歴史上未解読の暗号トップ50」のリストに1世紀以上もの間名を連ねていた。このリストには、未だ謎に包まれた「ゾディアック事件」の暗号文や、文字体系すら定かでない「ヴォイニッチ手稿」など、暗号史上の名だたる難問が並んでいる。数日前、歴代の暗号解読者たちを悩ませ続けてきたこの百年の未解決事件が、電鍵を握ったことすらない言語モデル「GPT-6 Astra」によって鮮やかに解読された。

技術コミュニティ Hacker News では、このニュースが瞬く間に 349 ポイントの賛成票と 160 件の深い技術的議論を集め、Lobsters でも 11 ポイントの注目を獲得した。大規模言語モデルにとって、暗号解読は主観的な言い訳が一切通用しない究極のストレステストである。モデルはそれらしい文章の生成によって誤魔化すことができず、厳密な暗号構造の内部で歴史的事実を数学的に完全復元しなければならないからだ。

たった6文字で構築されたシステム:伝送ノイズを物理層で排除する設計

第一次世界大戦末期、ドイツ軍が採用した ADFGVX 暗号システムは、その設計思想において極めて禁欲的だった。アルファベット全26文字を直接送出することを避け、送信される電文の構成文字を「A、D、F、G、V、X」のわずか6文字に限定したのである。モールス符号において、この6文字は音響的な差異が極めて明瞭になるよう慎重に選定されていた。砲火が轟き電波が乱れる過酷な戦場にあっても、極度に疲弊した無線手が聞き間違えるリスクを最小限に抑えるためである。システムエンジニアリングの観点から見れば、これは不安定な広帯域伝送をあえて捨て去り、帯域は狭くとも高い耐障害性を持つベースバンド信号を採用することで、物理層において入力ノイズを強制遮断したことに等しい。

この暗号の中核を成すのは 6×6 のポリュビオス方陣である。36個のマス目は、アルファベット26文字とアラビア数字(0〜9)の10文字をちょうど収めることができる。送信者はあらかじめ取り決めた秘密のキーワードに基づき、平仮文字を方陣内にランダムに配置する。そして「行文字+列文字」という2次元の座標ルールに従い、1つの平仮文字を2つの暗号文字へと変換する。

たとえば鍵となる単語が「HOUSE」だった場合、生成された方陣上では行A・列Aの交点に文字「H」が対応し、行A・列Dには「O」、行D・列Aには「B」が割り当てられる。したがって「PRINZ」という単語を変換すると、「FX GD DX FV VD」という規則性の見当たらない文字ストリームが得られる。この2次元座標マッピングは、アプリケーション層に動的な暗号ハッシュロックを施したようなものであり、下層の設定パラメータを1つ入れ替えるだけで、出力データ全体に雪崩のような激変を引き起こす。

過去1世紀にわたり、人類の暗号解読者たちは蓄積された統計的手法と数学的直感を武器に、同様のドイツ軍電報数百通を次々と解読してきた。著名な暗号解読の専門家であるジョージ・ラスリー(George Lasry)も、キャリアを通じて同リストの暗号電文をいくつも破ってきた実績を持つ。だが、十数通の短い傍受電文だけは頑強なブラックボックスとして残り続け、従来のリバースエンジニアリングによる解析を拒み続けていた。

1918年11月27日に送信された未解読のドイツ軍暗号電報 図:1918年11月27日の未解読ドイツ軍電文。出典:prinz / Klausis Krypto Kolumne

170文字で切り分ける非対称行列:古典的推論を代替する計算力

170文字の記号からなるこの解読不能電文に対し、Astra はドイツ語の単語「TRUPPENVERSCHIEBUNG」を復号の鍵候補として抽出した。「部隊移動」を意味するこの19文字の単語は、J・リーブス・チャイルズ(J. Rives Childs)の名著『The History and Principles of German Military Ciphers, 1914–1918』の214〜215ページに詳細に記録されていたものだ。ADFGVX 暗号の工程は、方陣による換字にとどまらず、キーワードを用いた転置(列の入れ替え)が施されている。解読の第一歩として、Astra はこのキーワードの文字をアルファベット順に並べ替える必要があった。

19文字からなるこの語の中で、文字「T」はアルファベット順で16番目に位置し、「R」は13番目に位置する。文字の辞書順並べ替えによる転置は、データ書き込み前にアウトオブオーダー・スケジューリングを組み込むようなものであり、攻撃者が文字の連続頻度を利用して総当たり攻撃を仕掛ける経路を完全に遮断していた。

モデルはキーワードを横方向に展開し、170個の暗号文字を行ごとに書き込んで19列の行列を構成した。これにより、1行あたり19文字が詰まった完全行が8行と、末尾の行に18文字が配置される形となった。転置後、18本の列にはそれぞれ9文字が格納され、唯一「G」の列にだけ8文字しか入らない非対称な構造が生まれた。

モデルが導き出した核心的な論理は、各列のデータオフセットの計算にある。たとえばアルファベット順で16番目に位置する文字「T」の列を考えると、その手前には9文字収容の完全列が14本と、8文字収容の不完全列(G列)が1本並んでいる。

9 × 14 + 8 = 134 という計算により、文字「T」が司る列のデータスライスは、暗号文字配列のちょうど135番目の文字から始まることになる。現代のソフトウェアアーキテクチャの視点で見れば、こうした非対称行列のスライスアドレッシングは、メモリのページオフセット計算そのものである。わずか1ビットのずれすらも、復号スタックにおけるセグメンテーション違反を招く。

キーワード「TRUPPENVERSCHIEBUNG」により生成されたADFGVX表 図:キーワード「TRUPPENVERSCHIEBUNG」により生成されたADFGVX表。出典:prinz

厳密な数学的再構築を経て、Astra は転置順序を完全に復元し、初期方陣と照合することで百年もの間隠され続けていたドイツ語の平文を導き出した。 EIN ENGLISCHER KREUZER EINLIEG X SEWASTOPOL X S4STEN X EIN GESCHWADER DER X ALLIIERTEN FOLGT 26STEN X これを英語に翻訳すると次のようになる。 AN ENGLISH CRUISER ARRIVED AT SEVASTOPOL ON THE ?4TH AN ALLIED SQUADRON FOLLOWS ON THE 26TH(イギリス巡洋艦が?4日にセヴァストポリに到着、連合軍戦隊が26日に追随予定)。電文は、ドイツ軍がイギリス巡洋艦のセヴァストポリ入港と、26日に続く連合国艦隊の動向を偵察報告していた事実を裏付けていた(到着日の十の位「?」だけは不確定だったが、イギリス海軍の軽巡洋艦カンタベリー[HMS Canterbury]の航海日誌により、実際の到着日が24日であったことが確認されている)。百年の未解決事件が、多層ニューラルネットワークの順伝播処理の中で因果論に依存しないパターンマッチングとして収束し、専門家たちが数十年費やした論理的総当たりが瞬く間に演算サイクルによって解消されたのである。

12日間の時間的断層を越えて:因果関係の先入観を持たないAI

Astra は平文を復元しただけでなく、なぜ人類の専門家たちがこの暗号電文の前で一様に挫折し続けたのか、その病巣をも特定してみせた。Klausis Krypto Kolumne の記録(217ページ)によれば、この暗号文が送信された日時は1918年11月27日である。しかし、Astra が解読に用いた鍵「TRUPPENVERSCHIEBUNG」は、当時のドイツ軍の規定文書によれば同年12月9日になって初めて前線部隊に配備されるはずの暗号鍵だった。この12日間の時間的ズレが目に見えない認知の壁となり、暗号コミュニティを丸一世紀にわたって足止めしていたのである。

この歴史的暗号事件の重要パラメータは以下のように整理できる。

暗号パラメータ暗号文の特性解読マッチング条件
送信基準日1918年11月27日1918年12月9日
暗号文の総長170文字19列の転置行列に対応
行列の形状8行の完全行+1行の不完全行-
列の変則性G列の収容文字数は8文字のみ-
基本アルファベット/鍵A/D/F/G/V/XTRUPPENVERSCHIEBUNG

人間の専門家が解読にあたる際、無意識のうちに物理的な時間軸の前後関係を絶対的な前提として課してしまう。11月末に傍受された電報を解読するために、2週間後になって初めて配布される予定の暗号表を試そうとする厳密な研究者など、誰一人としていなかったからだ。常識に基づいたこの前提条件は、防御機構における厳格な暗黙のアサーションのように機能した。解読ロジックが誤った条件分岐に一度迷い込めば、その後に投じられたすべての知力と計算リソースは水泡に帰す。

しかし、学習データ空間を走査・マッチングする大規模言語モデルには、人間固有の歴史的文脈や時系列のバイアスが存在しない。時間軸の前後という「常識」に囚われることなく、膨大な多次元空間の中から数学的規則性に合致する唯一の鍵だけを純粋に探索する。業務的な因果関係への執着を捨て去り、パラメータ空間全体を網羅的に走査できる能力こそが、専門家の経験則が生み出した防御の死角をAIに突破させたのである。

暗号解読が突きつけるAIの実力:レトリックの通用しない検証領域

暗号学は、大規模言語モデルの真の能力を検証する試金石であり続けている。ルールは極めて明快であり、正解か否かは数学的・決定論的に検証可能だ。ここでは曖昧な修辞で演算の不備を覆い隠すことも、文脈に応じた話術で誤魔化すことも許されない。100年以上前のドイツ軍前線で起きた電報運用上の規則違反は、時間のズレという目くらましによって論理的思考に頼る人間たちを欺き通してきた。だがそれは、電信システムを一度も扱ったことのないモデルの探索力によって打ち破られた。

Astra による解読は、歴史の闇に埋もれていたドイツ軍の公文書を復元しただけでなく、人間の認知体系に潜む不可視の障壁を越えてみせた。業務プロセスの整合性という先入観を排し、純粋な数学的構造をもって思考の固定観念を射抜いたのである。計算力の網羅と確率的探索がもたらすこの解法は、人間の伝統的経験則がカバーできる防衛射程を遥かに超えている。

参考リンク:

  • prinz ブログ記事
  • Hacker News ディスカッション
  • Lobsters コミュニティの議論