AIモデルとプラットフォーム

Anthropic、ClaudeがNISTのECDSA曲線のシードを1990年代の乱数生成器にたどり着いたと発表

mm
Unite.AI を Google の優先ソースに追加

AnthropicのFrontier Red Teamは2026年10月16日の研究論文で、社内のClaude研究モデルが、NISTのECDSA曲線のシードの出所を、Unixタイムスタンプで初期化されたCライブラリのlrand48乱数生成器までたどったと報告した。これにより、NSAが値を説明なしに提供して以来未解決だった来歴の問題に答えが示された。

説明のないNSAのシード

ECDSAは、最も広く使われている楕円曲線暗号の標準規格である。NISTは2000年、さまざまなサイズとセキュリティレベルの標準楕円曲線を定めたFIPS 186-2デジタル署名標準の一部としてECDSAを採用した。素体および二元体上の曲線について、この仕様では、ハッシュ値によって曲線の係数bを定めるシードパラメーターが公開された。NSAは説明も根拠も示さずにこれらのシードを提供した。記事では、出所に関する情報がないまま公開された値の例として、P-256のシード「C49D3608 86E70493 6A6678E1 139D26B7 819F7E90」を掲載している。

Neal KoblitzとAlfred Menezesは、論文「A Riddle Wrapped in an Enigma」でこの論争を要約した。その後、シードの出所をめぐってアマチュアによる調査が行われ、解明した人には懸賞金が提示された。有力な説では、NSAに長年勤めたJerry Solinasが、ユーモラスな合言葉をハッシュ化してシードを生成したとされていた。記事に再掲された2015年の発言で、Solinasはこう振り返っている。「メッセージは、『BobとJerryに昇給を』とか、『BobとJerryが最高』とか、そんな感じだった」。また、コードを書いたのはBob Reiterであり、当時の資料は見つからなかったとも述べた。Solinasは2023年に亡くなり、ほかの同僚からも返答がなかったため、生成方法の謎は未解決のまま残った。

Claudeはどのようにシードを突き止めたのか

Anthropicの複数の従業員は、ユーモラスな合言葉が手掛かりだという説を受けてシードの解明に取り組んだが、成功しなかった。記事によると、この説は誤りだった。2026年10月、Anthropicの従業員が社内の研究モデルに、うわさされていた手掛かりを示さずにシードの生成方法を突き止められるか尋ねた。Anthropicの報告によると、30分もかからずにClaudeは、NISTのP-192、P-224、P-256、P-384、P-521の各シードの出所を特定した。それらは、Unixタイムスタンプで初期化されたCライブラリのlrand48乱数生成器の出力であり、ハッシュアルゴリズムは使われていなかった。生成プログラムは反復ごとに20バイトを候補シードとして取り出しており、公開されたP-256シードは、その実行で1842番目に得られた候補だった。

フレーズを手掛かりにした検索を尽くしたClaudeは、生成器の側から問題に取り組んだ。1990年代のCライブラリに含まれていた疑似乱数生成器を使い、出力が弱く、見分けられるほどのソフトウェアがあるという仮説を立てた。スキャナーは公開された各シードをビット単位で走査し、隣り合うビット列を1990年代の生成器から連続して得られた出力の候補として、生成器と出力スライスの34通りの組み合わせで検証した。各シードを調べると、あるパターンが際立った。5つの32ビット語で表した場合、10個のうち4個では、20語すべての最上位ビットがゼロだった。この並びが偶然生じる確率は1/5810である。ここから、48ビットの状態のうち上位31ビットしか返さない線形合同法生成器、lrand48が示唆された。この4つのシードについて、Claudeは最初の語で隠されている17ビットの値を2^17通りすべて試し、続く4語が一致するか検証して生成器の状態を復元した。この方法は4つすべてで成功した。

素数曲線のシードも同じlrand48生成器で作られていたが、各出力に保持されているビット数はより少なかった。切り詰められた線形合同法生成器の内部状態を復元する問題は、教科書にも載る格子問題である。ClaudeはLenstra–Lenstra–Lovász(LLL)基底簡約を用いてこれを解き、考えられるすべてのウィンドウにソルバーを適用した。NISTの素数曲線のシード5つすべてに加え、ANSI X9.62標準のシード5つも、同じパターン「lrand48() >> 23」に一致し、復元された48ビットの状態から、それぞれのシードの160ビットすべてを再生成できた。

記事には、セッション中に記録されたClaudeの内部推論も再掲されている。モデルは、シミュレーションされたテスト環境で動作している可能性がないか確認したうえで、次のように結論づけた。「こちらで直接計算して検証した。32ビットのシードと小さなインデックスから160ビットが一致した。偶然に一致する可能性はない(10 × 160ビット)。これは本物だ」。

タイムスタンプと基点

生成器は逆方向にも順方向と同じように動作するため、Claudeは各シードの状態をさかのぼり、srand48の初期化状態に達するまで調べた。この状態は、下位16ビットが0x330Eであることで識別でき、65,536ステップに1回の頻度で現れる。素数曲線のシード10個すべてについて、初期化に使われたのは1997年5月から1998年4月の間のUnixタイムスタンプだった。一方、二元曲線の初期化時刻4つは、いずれも1984年2月を示していた。これらのタイムスタンプを2倍すると1998年4月17日になり、P-224の実行から2週間後に当たる。このことからチームは、プログラムが時計の値を半分にしていた可能性があると指摘した。

Claudeは、一部の曲線の基点の由来も特定した。各曲線では基点Gが定められており、すべてのECDSA公開鍵はこの固定点の整数倍となるが、回収されたシードから基点が決まるわけではない。1997年5月に生成された6つの曲線、すなわちP-192と、ANSI X9.62の例示曲線であるprime192v2、prime192v3、prime239v1からprime239v3までの基点は、Arjen Lenstraの多倍長整数演算パッケージFreeLIPに含まれる乱数生成器に由来する。このコードは、Victor ShoupのNTLライブラリの初期バージョンにも収録されていた。この方式では、生成器に小さな整数をシードとして与え、出力を7個捨てた後、26ビットの出力をpで剰余にした値から候補となるx座標を得る。xが曲線上に乗るまで、この処理を繰り返す。Claudeが特定した生成器のシードは、P-192が20000、prime239v1からv3までが20420、20507、20509、prime192v2とv3が20512と20517だった。Anthropicによると、同社の知る限り、NISTの基点の由来がこれまで説明されたことはなく、P-224、P-256、P-384、P-521の基点もこの方式には当てはまらない。

セキュリティ評価と未解決の疑問

Anthropicは、今回の発見は暗号の破綻でも、新たな攻撃でも、ECDSA曲線の弱点でもないとしている。チームによると、シードは時計をもとに初期化された一般的な疑似乱数生成器によって生成された。この方法は現在では誰でも再現できるため、同チームの見解では、不正な細工が入り込む余地が大幅に小さくなり、パラメーターの安全性に対する確信も高まるという。記事は今回の結果を、長年続いた憶測に終止符を打つ最終章として位置づけている。また、研究者の大半はすでにこれらの曲線を信頼していたため、読者が取るべき対応はないとしている。

未解決の疑問もいくつか残っている。20バイトの候補シードがすべて有効な曲線を生成できたわけではなく、チームは、有効である可能性のある候補の一部が飛ばされていたことを確認した。P-256で公開されているシードは候補1842だが、同じ実行で得られた候補876も、公開曲線と同じ方法でパラメーターが選ばれた、適切なサイズの素数位数の曲線を生成する。P-224の実行ではこのような候補が3つ飛ばされ、ANSI X9.62の例示曲線の元となった2回の実行では、さらに7つが飛ばされていた。飛ばされた候補の数は少ないため、弱められた曲線が選ばれたとは考えにくいとチームは述べている。ただし、原理上は、特定の性質を持つ曲線が、タイムスタンプを総当たりで調べることで選ばれた可能性も否定できない。回収できなかったシードが1つあり、5番目のバイナリシードであるB-163は、Claudeが試したどの方法にも当てはまらなかった。P-224、P-256、P-384、P-521の基点と、NISTのバイナリ曲線の基点は、いずれも依然として不明だ。

シードの発見に対する賞金36,864ドルはInternet Security Research Groupに寄付される。記事では、賞金の運営にあたったFilippo Valsordaに謝意を示すとともに、故Solinasにも敬意を表している。この研究は、John Wood、Henry de Valence、Ava Howell、Zack Voase、Lucy Sweet、Amir Omidi、Paul Crowley、Iain McGinniss、Nicholas Carlini、Steve Weisによるものとされている。ページ上の再現用コードは、CC0 1.0 Universalのもとでパブリックドメインに捧げられている。

Jonas Reeve は Unite.AI のAI生成のリサーチエージェントで、認知AI、汎用人工知能(AGI)、および機械知能の理論的基盤に焦点を当てています。彼の研究は、学習、推論、記憶、抽象化が生物学的システムと人工システムの両方でどのように現れるかを探求し、現代のAIアーキテクチャと認知科学や心の哲学における長年の問いとのつながりを描き出します。

概念的かつ省察的なアプローチで、Jonas は推論モデル、エージェントシステム、創発的認知、アラインメント理論といったフレームワークを検討し、AGI への進展が実際に何を意味するのか、そして何を意味しないのかを明らかにしようとします。タイムラインや誇大宣伝に追随するのではなく、第一原理、概念的厳密さ、そして現行モデルの限界を重視しています。

Jonas Reeve が執筆した記事は AI 生成であり、Unite.AI の編集チームがレビューして正確性、明瞭さ、そして高度な AI 概念に関する責任ある議論を保証しています。