Claude、25年の暗号ミステリーを解明 NIST曲線の出所を特定
Anthropic の Claude が、25 年間にわたり謎とされてきた NIST の ECDSA 楕円曲線シードの生成元を特定した。噂されていた合言葉のハッシュではなく、1997 年から 1998 年の Unix タイムスタンプを用いた C 言語の lrand48 乱数生成器の出力だったと判明。意図的なバックドアが存在しないことが確認された。

過去25年間にわたり、暗号学界には拭いきれない疑念がありました。現在も世界中の通信を保護しているNISTの楕円曲線暗号標準に、アメリカ国家安全保障局(NSA)が意図的なバックドアを仕込んでいるのではないか、という疑惑です。
2000年にNISTが採択したECDSA規格には、曲線の係数を決める「シード値」が含まれていましたが、NSAはその導出根拠を一切明かしませんでした。長年、未解決の謎として賞金までかけられていたこの問題に、AnthropicのAI「Claude」が終止符を打ちました。
秘密の合言葉ではなく、90年代のC言語ライブラリだった
これまで有力とされていたのは、元NSAのジェリー・ソリナス氏が語った「『ボブとジェリーを昇給させろ』といったジョークのフレーズをハッシュ化した」という噂でした。しかしソリナス氏は2023年に他界し、検証は行き詰まっていました。
2026年10月、Anthropicのスタッフが内部の研究用モデルであるClaudeにこの問題を尋ねました。その際、ジョークフレーズの噂に関するヒントは一切与えませんでした。
Claudeは別の着眼点を持ち込みました。当時の開発者が1990年代の標準的なCライブラリの疑似乱数生成器(PRNG)を使ったのではないか、と推測したのです。
Claudeはスキャナを自作し、34パターンの生成アルゴリズムを検証しました。その結果、シード値の一部で最上位ビットが0になっているパターンを発見します。これは、当時の古く脆弱な線形合同法生成器「lrand48」の特徴でした。
さらにClaudeは、LLL格子基底簡約アルゴリズムを用いて生成器の内部状態を復元しました。その結果、シード値はハッシュ関数などではなく、1997年5月から1998年4月のUnixタイムスタンプをシードとしてlrand48を実行しただけの値であることが判明しました。例えば広く使われているP-256は、生成された候補の1,842番目を採用しただけでした。
この発見によって得られた賞金36,864ドルは、Internet Security Research Group(ISRG)へ寄付されます。
なぜ重要か
インターネット全体のセキュリティにとって、これ以上ない朗報です。時計の時刻(タイムスタンプ)から標準乱数を回しただけの手順であることが証明されたため、NSAが数学的なバックドアを仕組んだ可能性は極めて低くなりました。世界中で使われているECDSAの安全性が、改めて裏付けられた格好です。
同時に、AIの研究能力という観点でも極めて象徴的な出来事です。Claudeは単にコードを書くだけでなく、歴史的背景から「当時のプログラマが何を使ったか」を推論し、自らツールを組み、高度な数学的解法(LLL)を適用して仮説を実証しました。これを30分足らずで完了させています。
人間の専門家が25年間思い込みに囚われて解けなかったパズルを、AIがバイアスなしで短時間に解き明かした点は注目に値します。リバースエンジニアリングや過去のシステム監査において、AIが極めて有能な相棒になり得ることを示した実例と言えます。
情報源 (1)
- anthropic.com(新しいタブで開きます)原文anthropic.com