本文へスキップ
MameTechNews
AI

Anthropic、NIST曲線のシードは1997年の時刻初期化乱数だと特定

## POINTS

  • P-256のシードは1997年8月16日の時刻を初期値にしたlrand48の1842番目と一致し、再現コードが公開されている。
  • 分かったのは生成手続きで、曲線を破る手順は出ていない。利用中のライブラリを差し替える必要はない。
  • B-163のシードと、P-224、P-256、P-384、P-521のベースポイントは、この手続きでは説明できていない。

Anthropicは2026年10月16日、ECDSAで広く使われるNIST曲線のシードの由来を特定したと発表した。P-192、P-224、P-256、P-384、P-521を含む素数曲線のシードは、ハッシュ文ではなく、1990年代のCライブラリが持つ lrand48 をUnix時刻で初期化した出力だった。社内の研究用モデルが、手がかりを与えられない状態から30分以内にこの構造へ到達したという。

P-256の公開シードは、1997年8月16日 01:52:34 UTC を初期値にした実行の1842番目の候補と一致する。素数曲線10本の初期化時刻は1997年5月から1998年4月に収まり、ANSI X9.62の例示曲線も同じ lrand48() >> 23 の型だった。二進曲線4本は時刻を半分にした読み方で1998年4月17日に揃う。再現用のPythonは公開され、報奨金36,864ドルはInternet Security Research Groupへ寄付される。

公開されたのは、パラメータを再計算できる生成手続きだ。Anthropicは、時刻で初期化した弱い乱数という手続きが再現できたことで、意図的なバックドアという説明はかなり成り立ちにくくなった、と書いている。同時に、P-256では876番目の候補も条件を満たす曲線だったのに公開されなかったなど、少数の候補が飛ばされている。同社は、弱い曲線が簡単に見つかるなら選別は考えにくい、と判断している。B-163のシードと、P-224、P-256、P-384、P-521のベースポイントは未解明のままだ。

実務でライブラリを差し替える話ではない。残る作業は、由来が説明できたシードと、まだ説明できないベースポイントを分けて読むことだ。