第一次世界大戦期のドイツ軍ラジオ暗号が、今も未解読のまま残っている。そんな古い謎を、記事の筆者は GPT-6 Astra に解かせてみた、というのが今回の話だ。単なる「AIがすごい」という話ではなく、実際に未解読リストの一つが崩れ、しかも当時の記録と照合して筋が通るところまで確かめているのが面白い。暗号解読という、いかにも人間の執念がものを言いそうな領域で、モデルがどこまで踏み込めるのかを見せた事例でもある。
元記事が扱っているのは、Scienceblogs.de が挙げている「未解読暗号50件」のうちの一つで、第一次世界大戦中のドイツ軍ラジオメッセージだ。暗号方式は ADFGVX と呼ばれるもので、文字や数字を特定の表に当てはめ、さらに別の鍵語で並べ替える仕組みになっている。記事では、まず “HOUSE” を鍵にした例を示し、A・D・F・G・V・X の組み合わせで文字がどう対応するのかを説明している。たとえば “AA” が H、”AD” が O、”DA” が B に当たる。こうした表は鍵語が変わればまったく別物になる。
そのうえで筆者は、ドイツ側がこの暗号に使った鍵語の一覧があり、すでに何百通もの電文は解読されていると書く。ただ、十数通はまだ解けておらず、その一つが 1918年11月27日に送られた電文だった。ここで GPT-6 Astra がその暗号を解き、原文はおそらく「EIN ENGLISCHER KREUZER EINLIEG X SEWASTOPOL X S4STEN X EIN GESCHWADER DER X ALLIIERTEN FOLGT 26STEN X」だったと推定した。英訳すると、「英国の巡洋艦がセヴァストポリに到着した。?4日に。連合軍の分艦隊が26日に続く」という趣旨になる。文中の “S4STEN” は、文脈から見て日付の一部が欠けた表現のようだ。
Astra は、鍵語として “TRUPPENVERSCHIEBUNG” を使ったとみている。これは J. Rives Childs の『The History and Principles of German Military Ciphers, 1914–1918』の214〜215ページで説明されている鍵語だという。記事では、この鍵語を使う前にアルファベット順に並べ替える必要があり、さらに暗号文を19文字ずつの行に並べ、鍵語の順番に従って列を読む、という手順が説明されている。全体で170文字あるため、19文字×8行に18文字の1行が加わる。列の長さも8文字の列と9文字の列に分かれ、たとえば T の列は135文字目に対応し、その位置の符号が “A” になる、という具合に一文字ずつ復元していく。筆者はこの復号手順を示しつつ、Astra が本当に暗号を解いたことを強調している。
さらに重要なのは、Astra が「なぜこれが未解読のままだったのか」について仮説を立てた点だ。記事によると、鍵語 “TRUPPENVERSCHIEBUNG” は 1918年12月9日以降に使われ始めたが、問題の電文はそれより前の11月27日に送られていた。つまり、その時点ではまだ別の鍵が使われていたはずなのに、後年の鍵で復号してしまっていたため解けなかったのではないか、という見立てだ。筆者はさらに確認として、英国巡洋艦 HMS Canterbury の航海記録を調べ、セヴァストポリ到着が 1918年11月24日であること、そして連合軍の分艦隊が11月26日に続いたことを確かめた。最後に筆者は、この電文が以前に解読された記録を自分は知らないとして、モデルの能力を示す小さな成果として共有している。
この話でまず目を引くのは、AIが「文章をそれっぽく並べる」だけでなく、かなり手続き的な作業をやり切っている点だと思う。ADFGVX のような古典暗号は、パターン認識だけではなく、鍵候補を置き、列を数え、仮説を照合し、史料で裏を取る必要がある。つまり、途中で雑に話を合わせるだけでは成立しない。そこで最後まで筋が通った、というのは地味だが重い。暗号文の解読は、正しさの証明がないと話にならないからだ。だからこそ、今回の例は「AIが賢い」という印象論より、検証可能な作業を一つ通せたことに価値がある。
ただし、ここで過大評価は禁物だとも思う。元記事が示しているのは、汎用モデルが勝手に歴史の未解決問題を総なめにした、という話ではない。すでに暗号方式の見当がついていて、鍵の候補も史料もあり、しかも対象はかなり限定された第一次大戦の軍用暗号だった。言い換えると、条件が整った問題設定では強い、という事例だ。これは十分すごいが、「何でも解ける」ことの証明ではない。むしろ、解ける問題の見つけ方がうまい、あるいは解ける形に落とし込む力がある、と見る方が正確ではないか。
記事を読んでいて感心したのは、最終的な復号結果そのものより、Astra が別の史料と突き合わせているところだった。HMS Canterbury の航海記録を見て、11月24日にセヴァストポリへ着いたこと、さらに連合軍の分艦隊が11月26日に続いたことを確認している。ここが重要で、暗号が解けたかどうかは、当てずっぽうの文らしさでは決まらない。後から史実と一致するかで初めて、解釈に地面ができる。AIがこの照合まで進めたなら、単なる文生成ではなく、調査補助の道具としてかなり使える。
一方で、ここには少し怖さもある。今回は筆者が自分で確認しているからいいが、モデルが出した復号文をそのまま信じてしまう運用は危ない。古い暗号は、部分的に合っているように見える偽解もありうる。とくに今回のように、既知の文献や日誌があると、後から意味が通るように見えてしまうこともある。だから、AIの価値は「答えを宣言すること」より、「候補を出し、検証の手間を減らすこと」にあるのだと思う。今回の筆者のやり方は、その使い方にかなり近い。
もう一つ面白いのは、対象がいわば「有名な未解読リスト」の一部だったことだ。Scienceblogs.de がまとめた 50 の未解読暗号のようなリストは、研究者だけでなく、趣味で史料を追う人にも開かれた遊び場になっている。そこに AI が入ると、これまで人海戦術や長い手作業を前提にしていた領域が一気に身近になる。暗号解読に限らず、古文書の読解、古いログの照合、断片的な記録の復元でも同じことが起きるはずだ。モデルが「最初の仮説」を作るのがうまくなるほど、人間はその仮説を潰す側に回れる。
ただし、そこでも人間の役割は消えない。むしろ最後の一押し、つまり「これは本当にその文か」「その鍵で合っているのか」「史実と整合するのか」を見る目が必要になる。今回の記事がよくできているのは、Astra の復号だけで終わらず、鍵語の時期と海軍記録の両方を見ている点だ。私はここに、AI時代の調査の形がかなり素直に出ていると思う。モデルが仮説を出し、人間が証拠を当て、両者の往復で答えに近づく。派手さはないが、この地味な往復ができるなら、古い未解決問題の棚卸しはこれから少しずつ進むのではないか。
最後に感じたのは、この成果が大げさに語られず、あくまで「minor but cool result」として置かれていることの誠実さだ。未解読暗号が一つ崩れたとしても、歴史が塗り替わるわけではない。けれど、こうした小さな成功は、AIの得意な領域を静かに示している。大きな発明や一発逆転ではなく、既に人が積み上げた知識の上で、最後に残った面倒な作業を片づけること。私はそこに、いまのモデルの現実的な強みがあると思う。
しかも今回は、復号した文がちゃんと時系列の記録と合った。これが単なる面白ネタで終わらなかった理由だ。古い暗号はロマンがあるが、ロマンだけでは証明にならない。だからこそ、AIが歴史資料に当たり、日付を見て、文言を突き合わせるという一連の流れは、かなり健全に見える。今後もこういう事例は増えるだろうし、増えれば増えるほど、AIは「答えを出す機械」より「解読作業の相棒」として評価されていくのではないかと思う。