数か月ごとに「AIが暗号を解読した」というニュースがタイムラインを賑わせます。今回の主役は Claude Mythos です。7月28日、Anthropic はこの大規模言語モデルが暗号解読(暗号解析)において新しい発見をもたらしたと発表しました。情報が広まると、「AIが暗号を突破」「暗号技術の終わり」といったショッキングな見出しが各メディアやSNSに溢れました。8月1日、暗号学者である JP Aumasson 氏は自身のブログに『LLMs won’t break symmetric crypto(LLMは対称暗号を破れない)』と題した冷静な解説記事を投稿しました。この記事がエンジニアコミュニティ Lobsters に共有されると、得られたスコアは 8 ポイント、コメントは 0 件でした。事情を知る技術者たちから見れば、議論するまでも内容だったからです。
図:原記事の掲載画像、ピーテル・ブリューゲル(父)『反逆天使の墜落』(部分)。出典:bfswa.blog
まず今回の発表で実際に何が起きたのかを整理してみましょう。Anthropic の成果は大きく2つあります。1つ目は HAWK に対する鍵復元攻撃です。HAWK は米国国家標準技術研究所(NIST)のポスト量子暗号(耐量子暗号)標準化プロセスにエントリーしているデジタル署名方式です。攻撃によって HAWK の理論的な安全限界は 128 ビットから 108 ビットに減少しましたが、検証用に意図的に作られた玩具的パラメータを除けば実用的な脅威ではなく、「実際のシステムを解読できる」段階からは程遠いものです。2つ目は AES-128 への攻撃ですが、こちらはさらに限定的で、全10ラウンドのうち7ラウンドまでしか到達していません。AES は銀行カード、スマートフォン、Web通信など世界中で最も広く使われている暗号化標準です。暗号学界にとってこの結果は予想通りでした。ラウンド数を減らすのは、鍵の機構を何段階か取り外した状態で鍵開けに挑むようなものだからです。さらに興味深いのは「存在しなかった成果」です。AIは全10ラウンドの完全版 AES に対する攻撃法を何一つ発見できませんでした。ショッキングな見出しの最も恐ろしい部分は、実際には起きていないことだったのです。
暗号は一体何を防御しているのか?
暗号化とは情報に鍵をかけることです。鍵がなければ解読できません。AES-128 という鍵の組み合わせは 128 ビットの数値であり、可能な組合せは 2の128乗(約 3.4 × 10^38)通りに上ります。これは 3400溝(こう)という途方もない数字です。これがどれほどの規模か例えてみましょう。地球上の砂の粒の数は約 10^19 個と言われています。その砂の一粒一粒をそれぞれ地球に変え、そのすべての地球の砂を数え上げてようやく届く規模です。ちなみに観測可能な宇宙に存在する全原子数が約 10^80 個であり、現代で広く使われているもう一つの強固な標準 AES-256(2の256乗)はそのレベルに肩を並べます。エンジニアリング上の判断として、鍵の数が宇宙に収まらないほど巨大である場合、「総当たり攻撃(ブルートフォース)」という言葉は攻撃の手法ではなく単なる数学上の概念へと退化します。
総当たり攻撃とは、鍵を一つずつ試していく作業です。仮に世界中のすべてのコンピュータが連携し、毎秒1兆個の鍵を試したとしても、鍵空間の半分を試すだけで 5×10^18 年かかります。これは宇宙の年齢(138億年)の約4億倍です。この数字が意味するのは、AES-128 解読の真の障壁は時間そのものだということです。時間は物理的な定数であり、AIであってもそれを歪めることはできません。
なぜAIの「賢さ」はここでは通用しないのか?
優れた暗号アルゴリズムの設計目標は、暗号文の出力を完全に「ランダム」に見せることです。暗号文と原文の間には抽出できるパターンも「法則」も存在しません。暗号学ではこれを「偽似無作為性(疑似ランダム性)」と呼びます。見た目はランダムですが計算によって導かれており、どのような統計的検定をもってしても破綻を見つけることはできません。AIがいくら強力であっても、それはデータ内のパターンや法則を学習することによって機能します。最初から法則が存在しないように設計された対象に対しては、どれほど賢いAIであっても手を出す手がかりがありません。
例えるなら、トラクターを底なし沼に沈め、その上からセメントで固めるようなものです。対称暗号はデータを反復して置換・シフト・混合し、それを10ラウンド繰り返します。ラウンドが進むごとに元に戻すのは幾何級数的に困難になります。暗号学者の Matthew Green 氏の表現を借りれば、この種のアルゴリズムの特徴は「雑多で強固(messy and strong)」です。構造、対称性、規則性は攻撃者への手がかりになるため意図的に「雑多」に作られており、何十年にもわたって無数の暗号学者から攻撃を受け続けてきたため「強固」なのです。『Serious Cryptography』の著者である Aumasson 氏が記事で述べているように、BLAKE3 のようなアルゴリズムは本質的に XOR、加算、ビット回転の長い演算の連鎖であり、それ以上に簡略化できる説明が存在しません。それこそが設計者の狙いなのです。
図:AESの1ラウンドにおける4つの工程:SubBytes、ShiftRows、MixColumns、AddRoundKey。完全版ではこれを10ラウンド繰り返す。出典:Wikipedia
Anthropic 自体も同様の慎重な見解を示しています。攻撃に関する論文内での表現は「AIを活用した暗号研究のさらなる探索は興味深い」という慎重なものにとどまっています。また、彼らは LLM の暗号解析能力を評価するための CryptanalysisBench というテストセットも作成しました。ラウンド数を減らした実験用モデルに攻撃を成功させることと、本番環境で運用されている完全なアルゴリズムを破ることの間には、数桁もの決定的な隔たりが存在します。
本当に警戒すべき脅威:ネットの煽りとは逆の優先順位
第一に、弱いパスワード。「123456」、生年月日、電話番号などは、AIを使うまでもなく既存の辞書攻撃で一瞬で試行・破綻します。ここでAIが果たす役割は、詐欺師がより人間らしい文章を作成したり、共通パスワードの自動試行を高速化したりすることに過ぎません。問題の本質は鍵をドアに挿したまま放置している点にあり、錠前自体の強度とは無関係です。
第二に、フィッシング詐欺。銀行、カスタマーサポート、宅配業者などを装ったリンクやメッセージで、ユーザー自身にパスワードを入力させる手口です。ほとんどのアカウント乗っ取りは暗号技術の解読とは関係ありません。パスワードは騙し取られ、推測され、あるいは流出したものです。AIによって詐欺の手口がより精巧になるのは現実的な脅威ですが、攻撃されているのは「人間」であり、暗号技術自体はそのプロセスに関与していません。
第三に、Webサイトからのデータベース流出。あるサイトで使っているパスワードが銀行と同じである場合、そのサイトから情報が漏洩すれば、ハッカーは同じ鍵を使って他のサービスへ侵入します。この問題の解決に高度な暗号は不要であり、サイトごとに異なるパスワードを使用するか、パスワードマネージャーを導入するだけで防げます。
第四に、長期的な脅威としての量子コンピュータ。これは RSA のような、接続のハンドシェイク段階で使われる従来型の公開鍵暗号を対象としたものです。RSA は「巨大な数の素因数分解が困難である」という数学的仮定に依存しており、量子コンピュータ上で動作する Shor のアルゴリズムは理論上これを高速化できます。最新の研究推計によると、RSA-2048 を解読するには少なくとも数十万規模の高品質な物理量子ビットが必要とされ、現代のマシン性能からはまだ遠く及んでいません。また、業界ではすでにポスト量子暗号への移行が始まっており、HAWK のような候補案もそのために用意されています。AES のような対称暗号に対しては、量子コンピュータによる加速効果は「平方根の加速(Groverのアルゴリズム)」にとどまり、128ビット鍵の解読難易度が実質64ビット相当に下がる程度です(AES-256 であれば依然として天文学的な安全性を維持します)。エンジニアリング上の判断として、量子脅威は数十年単位のタイムスケールで進展するものであり、明日の朝に突然襲ってくるものではありません。
図:暗号学者が描いた有名な漫画:一見複雑な「Tr0ub4dor&3」のエントロピーはわずか28ビットだが、4つのランダムな単語からなるフレーズは44ビットある。出典:xkcd
冒頭のニュースに話を戻しましょう。Aumasson 氏は記事の最後に直感に反するような提案をしています。AIが暗号を解読することを心配するよりも、新たに提出されたポスト量子暗号の提案に含まれる脆弱性をAIにチェックさせるべきだという主張です。実際に彼がLLMに学術論文の安全性証明を査読させたところ、実際に問題点を発見することができました。この視点は非常に示唆に富んでいます。AIの価値は、運任せに鍵を試行錯誤することではなく、まだ完成していない鍵の欠陥を修復する人間を補助することにあります。20年以上使われ続けている既存の頑丈な錠前について言えば、その鍵をすべて試すだけで宇宙の年齢の4億倍の時間が必要です。AIがどれほど賢くなろうとも、時間の進みより速く計算することはできません。
参考リンク:
- bfswa.blog:LLMs won’t break symmetric crypto
- Lobsters ディスカッション (s/tstkqk/llms_won_t_break_symmetric_crypto)
- Wikipedia:Advanced Encryption Standard
- xkcd:Password Strength
- Ubiq Security:128 or 256 bit Encryption: Which Should I Use?