Anthropicが公開した2つの暗号解析結果を、暗号研究者のMatthew Greenがかなり率直に眺めた記事です。読んでいて面白いのは、話が「AIがすごい」で終わらないところです。むしろ、AIはゼロから天才的な数学をひねり出すというより、既存の道具を粘り強く組み合わせて、研究者が見落としていた穴を突くのが得意なのではないか、という見方がにじみます。私はこの視点、かなり本質的だと思いました。
Anthropicが今回出した結果は、同じ「暗号解析」と言っても温度差があります。
HAWKへの攻撃はかなり重い意味を持つ一方で、AESへの攻撃は「すごく見えるけど、実際はかなり控えめ」という位置づけです。この差をはっきり切り分けているのが、この記事の良いところです。
HAWKは、将来の標準候補として検討されていた post-quantum-safe signature scheme、つまり「量子計算機が出てきても壊れにくい署名方式」の一つです。署名方式というのは、ざっくり言えば「このデータは本当に本人が作った」と証明するための仕組みです。電子署名の世界で、かなり重要な役割を持っています。

ここでのポイントは、HAWKがすでに広く使われている方式ではなかったことです。まだ標準化前の提案段階にありました。だからといって軽い話ではなく、標準候補としてかなり進んでいたので、実質的には「このまま将来の本命になりうる」位置にいたわけです。そこを攻撃で崩されたのは、なかなか痛い。
しかもこの攻撃、完全に新しい数学を発明したわけではないそうです。既存の道具をうまく延長し、組み合わせて、結果として効く攻撃に仕上げた。Matthew Greenがこれを「少し恥ずかしいくらい」と表現していたのは印象的でした。暗号研究の世界では、こういう「道具は全部あったのに、ちゃんとつなげた人が勝った」という展開が実はとても強い。AIが得意そうなのも、まさにそこです。発明より、総当たり的な検討と組み合わせが効くからです。
一方のAESは、話を聞くと一瞬びくっとします。AESといえば、あらゆるところで使われる定番のブロック暗号です。HTTPSの裏でも、ファイル暗号化でも、とにかく何でも出てくる顔なじみ。これに攻撃が出たとなれば、普通は身構えます。
でも、ここは冷静に読まないといけません。今回の対象はfull AESではなく reduced-round AESです。AESは通常10、12、14ラウンドで動きますが、今回の攻撃は7ラウンド版。つまり「本物より弱くしたお試し版」に対する攻撃です。暗号研究ではよくあるやり方で、強すぎる本体を直接殴るのが難しいので、まず弱めた版でどこまで壊せるかを見るわけです。
そしてこのAES攻撃は、2013年の既存研究を少し改善した程度だとされています。しかも、必要な計算量がとんでもない。記事では 2^89 回の cipher operations が必要で、さらに秘密鍵の下で選んだ平文を 2^105 回も暗号化させる必要があると書かれています。正直、ここまで来ると「実行可能な攻撃」というより、「理論上ここまで行けるよという証明」に近いです。私はこういう数字を見ると、暗号研究の厳しさを改めて感じます。桁が大きすぎて、もはや日常感覚が役に立たない。

つまり、AESの方は「AESが危ない」という話ではありません。むしろ、既知の弱い設定に対する小さな前進です。もちろん、研究として価値がないわけではない。攻撃のテクニックが少しでも進むのは、暗号の世界では意味があります。ただ、世間が勝手に連想しそうな「AESが破られた!」とはまったく別物です。
この記事でいちばんおもしろいのは、Anthropicのやり方への反応です。どうやら彼らは、AIに丁寧な理論補助をさせたというより、かなり雑に、しかし強く、結果を出すまで押し続けたようです。記事の表現を借りるなら、AIの鼻先を地面に押し付けて、成果が出るまで頑張らせた感じ。ちょっと笑ってしまいますが、たぶんこれが現実です。研究はきれいごとだけでは進まない。
ここから見えてくるのは、AIの強みが「ひらめき」だけではないということです。むしろ、既存の研究を大量に読み、そこから使える断片を拾い、穴がありそうな場所を延々と試す。人間だと途中で飽きるか、見切りをつける作業を、AIは続けられる。暗号解析はこの性質と相性がいいのだと思います。
ただし、ここに落とし穴があります。出てきた結果が本当に正しいとは限らないのです。モデルはもっともらしい説明を作るのがうまいので、見た目は立派でも中身が怪しいことがある。これはAI研究全般の悩みですが、暗号では特に深刻です。なぜなら、暗号は「だいたい合ってる」では済まないからです。1ビットでも抜けたら話が変わる。

だからこそ、検証できるかどうかが重要になります。HAWKのように、攻撃コードを動かして鍵が本当に抜けるか確認できるなら比較的わかりやすい。ところがAESのような、紙の上では改善に見えても実際の計算がほぼ不可能なケースでは、どこまで本当に意味があるのか見極めが難しい。ここはかなり人間の出番です。AIが候補を大量に出し、人間がちゃんとふるいにかける。この関係がしばらく続くのではないかと思います。
個人的には、今回の話は「AIが暗号を破る時代が来た」というより、暗号研究の作業工程そのものが変わりつつあるという点で面白かったです。天才が一発で突破するというより、探索と検証の回転数が上がる。その結果として、標準化目前の方式が落ちることもある。これはかなり現実的で、しかも少し怖い変化です。
そして、HAWKの件はとても示唆的です。標準化される前に弱点が見つかったのは不幸ではありますが、逆に言えば、本番投入前に壊れてよかったとも言えます。暗号は壊れてからでは遅いので、こういう「出る前に止める」仕組みが重要です。AIはその検査速度を上げるかもしれません。便利ですが、研究者にとってはなかなか気の抜けない未来でもあります。
参考: Some thoughts about Anthropic’s new cryptanalysis results