AnthropicのAIモデルが、1990年代にNSAが米国政府に提供した数字の正体を30分以内で解明した。この長年にわたりバックドアの可能性が疑われてきた数字は、実際には1997年と1998年のタイムスタンプを入力した標準的な乱数生成プログラムに由来するものだった。
インターネットの多くは楕円曲線暗号に依存しており、bitcoinのウォレット保護にも使われている。この曲線は誰でも設計を確認できるが、2000年にNISTがNSAの提供した曲線を採用した際、その設計に用いられた一部の数字の出自は説明されなかった。NSAが暗号標準を弱体化させる意図があったことが示された後、不透明さが問題視され、NISTは特定の乱数生成器Dual EC random-number generatorを推奨から外している。
NSAが提示したseedは公開されていたものの、選択経緯が不明だったため、「NSAが秘密のバックドアを持つ曲線を探すために多くの候補を試したのではないか」という疑惑が長らく付きまとっていた。2015年の論文や複数の研究者の調査にもかかわらず解決には至らず、2023年には匿名の懸賞金も設定されたものの答えは見つからなかった。
この状況を変えたのがAnthropicのAIモデルClaudeだ。同社が社内研究として調査を依頼したところ、モデルは数十分でNISTが採用した5つの曲線のseedを、古いC言語ライブラリにある乱数生成器lrand48に由来することを特定。P-256曲線のseedと公開された数字が一致する候補を1,842番目で見つけ出した。
Claudeは「25年前の謎を解いた」と記録しており、この発見により誰でもプログラムを再実行してNSAが提供した数字と同じものを得られるようになった。Anthropicはこれにより隠された弱点の可能性は低いとしたが、なぜ一部の有効候補が除外されたのかや曲線の他の部分の選び方については依然説明できていない。
このseedの予測可能性はウォレットにとって致命的となり得る。lrand48で生成された秘密鍵は作成時期を知る者なら再現可能であり、資金を流出させる鍵を手に入れられてしまう。しかし、NSAのseedは当初より公開されており、そもそも盗まれる秘密は存在しなかった。
bitcoinの曲線secp256k1はこの問題とは関係がない。bitcoinはより単純な固定数値で定義されており、秘密裏に弱点を仕込まれた可能性はほとんどなく、暗号学者もこれをbitcoinの強みと指摘している。bitcoinの創設者Satoshi Nakamotoは選択理由を公に説明しておらず、Ethereumもこの曲線を採用している。
一方で、量子コンピューターによる鍵の破壊の脅威は依然続いている。強力な量子コンピューターは公開鍵から秘密鍵を逆算する可能性があり、Googleが誤差を大幅に低減した新チップを発表するなど、進展も見られる。ただし鍵を破るだけの信頼性と規模を備えた量子コンピューターはまだ存在せず、その登場時期も不透明だ。
Anthropicは、自社ブログでNISTの曲線を使っているユーザーが変更を要しないことを示し、長年の疑念を越え誰でもプログラムを実行して公開数字に至る過程を再現できる状態となったことを伝えている。同時に、36,864ドルの懸賞金はInternet Security Research Groupに寄付された。
