Claude、NISTの「シード」を30分で特定 正体は時刻の乱数
Anthropicは10月16日に、電子署名の暗号規格「ECDSA」に25年以上残っていた謎を社内の研究用モデルのClaudeが30分足らずで解いたと発表しました。謎だったのは、NISTが2000年の規格に載せた「シード」という数値の作り方です。数値はNSAが出したもので、作り方の説明はありませんでした。
説明が無かったため、NSAがわざと弱い曲線を選んだのではという疑いが長く残っていました。NSAの元職員は2015年に、冗談めいた英文をハッシュ化して作ったと記憶していると話しています。ただ手順は本人も同僚も覚えておらず、記録も残っていません。
Claudeが突き止めた答えは英文ではありませんでした。C言語のライブラリーにある疑似乱数の機能「lrand48」に、1997年5月から1998年4月までの時刻を初期値として入れた出力です。20バイトずつを候補にして順に試し、P-256では1,842番目の候補が規格の数値と一致しました。
噂を追わず乱数の癖から当てた
噂の英文を探す線は、Anthropicの社員も試して外れていました。今回は手がかりを示さずに頼み、Claudeは1990年代のC言語の乱数の機能だと見当を付けています。出力の上の桁がそろって0になる癖からlrand48を割り出し、初期値までさかのぼりました。
社員は問いを投げただけで、調べ方はClaudeが自分で組み立てたAI主導の研究です。Anthropicの発表によると、Claudeは途中で自分がテスト環境にいるのではと疑っています。そのうえで10個のシードの160ビットが一致することを直接計算で確かめ、偶然ではないと結論づけました。

- 2000NISTが規格にNSA提供のシードを載せる
- 2015NSAの元職員が英文のハッシュだと記憶を語る
- 2023Valsorda氏らが12,288ドルの報奨金を設ける
- 10/16Anthropicが解明を発表し報奨金を獲得
ECDSAは破られていない P-256を使う会社も対応は要らない
今回の発見は暗号の解読ではありません。シードは規格で公開されている数値で、利用者の秘密鍵とは別物です。Anthropicは新しい攻撃方法も曲線の弱点も見つかっておらず、利用者が設定を変える必要もないとしています。
時計を初期値にしたありふれた乱数だったので、わざと弱い曲線を選んだという疑いはむしろ薄まりました。報奨金を設けていたFilippo Valsorda氏も同じ見方です。1997〜98年のどの時刻を選べたとしても自由度は30ビットほどで、裏口を仕込むには足りないと書いています。
社内の電子署名やシステムの認証にECDSAを使っていても、今回の件で設定を見直す必要はありません。情報システム部門が「P-256は危ないのか」と聞かれたら、対応は要らないと答えてよさそうです。

公開手順を手元で試すと5曲線とも一致 計算は0.03秒
AInformation編集部は10月18日に、公開された手順をPythonで書き写して編集部のMacで試しました。初期値の時刻と候補の番号はValsorda氏の報告から写し、出た数値をNISTの規格書FIPS 186-2の値と突き合わせています。5つの曲線すべてで、16進数40桁の数値が1文字も違わず一致しました。
| 曲線(AInformation編集部が10月18日に試した結果) | 初期値の時刻(協定世界時) | 何番目の候補か | 規格の値と |
|---|---|---|---|
| P-192 | 1997年5月18日 14:45:34 | 139番目 | 一致 |
| P-224 | 1998年4月3日 12:52:07 | 7,026番目 | 一致 |
| P-256 | 1997年8月16日 01:52:34 | 1,842番目 | 一致 |
| P-384 | 1997年8月30日 14:50:08 | 2,688番目 | 一致 |
| P-521 | 1997年8月8日 01:12:04 | 1,136番目 | 一致 |
5つ合わせても計算は0.03秒で終わりました。Claudeが30分かけたのは計算ではなく、どの乱数をどう使ったかを当てるほうです。手順さえ分かれば誰でも確かめられることが、疑いを晴らす決め手になっています。
Claudeが長年の難問に挑んだ例には、フェルマーの最終定理の機械証明もありました。社内の古い仕様の由来をAIに調べさせるときも、思い込みの前提を渡さずに聞くと今回と同じ形を試せます。

B-163は謎のまま 賞金3倍の36,864ドルは寄付へ
全部が解けたわけではありません。P-256では876番目の候補も条件を満たしていたとみられるのに、使われなかった理由は分かっていません。B-163のシードと、P-224・P-256・P-384・P-521の基準点の作り方も説明できなかったとAnthropicは書いています。
謎には2023年から報奨金がかかっていました。額は12,288ドルで、慈善団体への寄付を選ぶと3倍になる仕組みです。
研究チームは寄付を選び、36,864ドルが無料の電子証明書を出すLet’s Encryptの運営団体ISRGへ渡ります。10月16日の欧州中央銀行の参照値(1ドル158.02円)で直すと約583万円です。
Valsorda氏の報告は、NISTの曲線の疑いが晴れたのは量子コンピューターに強い署名へ置き換わる直前だったと皮肉まじりに書いています。
- シード
- 暗号の曲線の形を決める計算に入れる元の数値。規格に公開されていて、利用者の秘密鍵とは別物
- lrand48
- 古いC言語のライブラリーにある疑似乱数の機能。初期値が同じなら毎回同じ数列を出すので、手順が分かれば誰でも再現できる
注目したいのは、手がかりを示さずに頼んだ回で当たった点です。噂の英文を追った社員たちは見つけられていません。社内の古い仕様や数値の由来をAIに調べさせるときも、担当者の思い込みを前提として渡すと外しやすいとみています。まず前提なしで仮説を出させて、記録と突き合わせる順番が向いていそうです。Claudeは答えを直接計算して確かめてから結論を出していました。業務でも答えと一緒に再現できる手順を出させると、確かめる手間が減ります。
- Claudeが暗号の謎を解いたならECDSAやP-256は危ない?
- 危なくなっていません。今回分かったのはNISTの曲線を決めるシードの作り方で、利用者の秘密鍵とは別の公開された数値です。Anthropicは新しい攻撃方法も曲線の弱点も見つかっていないとし、利用者が設定を変える必要もないと説明しています。シードがありふれた乱数から作られていたと分かったので、わざと弱い曲線を選んだという疑いはむしろ薄まりました。
- 今回のClaudeは一般のプランで使える?
- 使われたのは社内の研究用モデルで、どのモデルかは名前が出ていません。一般に契約できるClaudeで同じ結果が出るかも、発表には書かれていません。ただし見つかった手順そのものは公開されています。AInformation編集部のMacでPythonに書き写して試すと、5つの曲線のシードを0.03秒で再現できました。
- NISTのシードの報奨金はいくらで誰が受け取った?
- 報奨金は12,288ドルで、暗号技術者のFilippo Valsorda氏らが2023年に設けたものです。慈善団体への寄付を選ぶと3倍になる仕組みで、Anthropicの研究チームは寄付を選びました。36,864ドルは無料の電子証明書を出すLet's Encryptの運営団体ISRGへ寄付されます。10月16日の欧州中央銀行の参照値(1ドル158.02円)で約583万円です。
この記事の出典
補助資料
- [1]CNET Japanこの記事の元にした報道
出典の最終確認日:2026年10月18日
