Claude、NIST曲線の種の由来を追跡
- •ClaudeがNISTの5つの曲線の種を、Unixタイムスタンプで初期化したlrand48に結び付けたとAnthropicが発表
- •Anthropicは、結果はECDSAの破綻や脆弱性を示さず、意図的なバックドアの可能性を低くすると説明
- •Claudeは6曲線の基点も追跡したが、B-163など複数の基点の由来は未解明
Anthropicの研究者によると、Claudeは長年推測を呼んでいたNIST楕円曲線の種の大半について、単純な乱数生成過程に由来すると突き止めました。NIST P-192、P-224、P-256、P-384、P-521の種は、Unixタイムスタンプで初期化されたCライブラリの乱数生成器lrand48から得られたといいます。Anthropicは、この発見はECDSA曲線の暗号解読や攻撃、脆弱性を示すものではなく、意図的なバックドアの可能性を低くすると説明しています。
2026年10月、Anthropicの従業員が、うわさになっていたパスフレーズの手掛かりを与えずに社内研究モデルへ種の調査を依頼し、Claudeは30分足らずで由来を見つけました。NISTは2000年、FIPS 186-2デジタル署名標準の一部としてECDSAを採用しましたが、NSAが提供した種の生成方法は説明されていませんでした。
生成手順では、Unixタイムスタンプで初期化したlrand48から20バイトの候補を作り、標準化された種が得られるまで試していました。公開されたP-256の種は1842番目の候補でした。Claudeは公開値を1ビットずつ調べ、生成器と出力範囲の組み合わせ34通りを検証しました。10個の種のうち4個では、20個のワードすべての最上位ビットがゼロでした。このパターンが生じる確率は1/5810とされ、Claudeはこれを手掛かりにlrand48を特定し、隠れた状態ビットを復元しました。
素数曲線の種では、研究チームは切り詰められた出力から生成器の内部状態を復元する格子法「LLL」を使いました。NISTの素数曲線の種5個とANSI X9.62の例示用の種5個は、いずれもlrand48() >> 23と一致しました。復元した48ビットの状態から、それぞれの種の160ビットすべてを再生成できました。素数曲線10個の初期化時刻は1997年5月から1998年4月の範囲でした。4つの二元曲線の初期化時刻は1984年2月を示しましたが、時刻を2倍すると1998年4月17日に対応するため、プログラムが時計の値を半分にしていた可能性があります。
Claudeはさらに、1997年5月に生成された6曲線の基点を、長整数演算パッケージFreeLIPの生成器に結び付けました。特定した種は、P-192の20000、prime239v1からv3の20420、20507、20509、prime192v2とv3の20512、20517です。一方、P-224、P-256、P-384、P-521やNIST二元曲線の基点の由来は説明できませんでした。
有効な候補曲線の一部は採用されず、P-256の実行で1つ、P-224の実行で3つ、ANSI X9.62の2回の実行で計7つが飛ばされていました。研究チームは、その数の少なさから弱い曲線を選んだ可能性が高まるわけではないと述べました。タイムスタンプの探索で何らかの性質を選べた可能性は理論上あるものの、実行回数はデータから分からないとも説明しています。B-163の種も未解明です。種の発見に対する36,864ドルの懸賞金は、Internet Security Research Groupに贈られる予定です。