Claude reveals ECDSA curve origins \ Anthropic
The decades-old mystery of the origins of one of the most popular cryptographic standards has been explained.
Anthropicは2026年10月16日、社内の研究用Claudeが暗号の謎の数字を突き止めたと発表しました。
この数字は、作った側が自分だけ破れるように選んだのではと、長く疑われてきました。
先に言うと、暗号が破られたわけではありません。では、その数が本当にでたらめかは、どう確かめるのでしょうか。
ECDSAの曲線は種から決まる

暗号の規格に、出どころ不明の数字が入ってるって、どういうこと?

ECDSAっていう規格の、曲線の数字の話なんだ。
電子署名に使う暗号で、楕円曲線という式を使うよ。電子署名は、データが本人から出たものだと確かめる仕組みなんだ。

米国の国立標準技術研究所、略してNISTが、これを2000年に採用したんだ。使う曲線も一覧にして載せたよ。

曲線の式に入る値のうち1つは、種と呼ばれる数から計算して決めるんだ。
種を取り替えれば、計算で決まる曲線も変わるよ。

その種って、規格を作った人が自分で決めたんだと思ってた。

いや、そうじゃないんだ。この種は、米国の情報機関NSAが渡したものだよ。
どう作ったかの説明は、示されてなかったんだ。

作り方が分からないと、何か困るの?

くじを作った人が当たりをこっそり選べたら、そのくじは公平とは言えないよね。
種も同じで、作った側が選び直して弱い曲線にすれば、暗号に裏口ができかねないんだ。裏口は、作った側だけがこっそり破れる抜け道のことだよ。

ただ、これはあくまで疑いの話だよ。
多くの研究者は、もともと曲線を信頼してたんだ。
署名に使う2つ1組の鍵は、下の記事で扱います。
認証コードも盗む偽サイト:警察庁が勧めるパスワード代わりの鍵「パスキー」
ログインのとき、SMSで届いた数字の認証コードを入れることがあります。Microsoftの分析では、偽サイトを作る道具一式の1つが、コードまで犯人へ届ける作りでした。警察庁が勧めるパスキーなら、偽サイトに誘い込まれても、 […]
Claudeは種の出どころを逆にたどった

2026年10月、Anthropicの社員が、社内の研究用モデルに種の作り方を尋ねたんだ。
Claudeは30分足らずで、P-256など5つの曲線について、種の出どころを見つけたよ。

30分足らずって、すごい速さだね。

Claudeは、曲線を作ったソフトが1990年代のC言語に付いていた疑似乱数を使ったはずだ、と見立てたんだ。C言語は、プログラムを書く言葉だよ。

疑似乱数って何?

計算で作る、でたらめに見える数のことだよ。
最初の数から、決まった式で次々に作っていくんだ。

サイコロを振るみたいに、毎回ちがう数が出るんだと思ってた。

それがね、ちょっと違うんだ。同じ最初の数なら、毎回同じ並びが出てくるよ。
長い巻物を同じ場所から読み始めるのと似てるね。巻物ではなく式で作ってる点は違うけどね。

しかも古い疑似乱数は単純で、出てくる数から見分けられるほど癖が残るんだ。

公開された暗号の種に残る古い乱数の癖

NISTが公開した種に、その癖が出てたんだ。
種は10個あって、素数を使う曲線と使わない曲線が5個ずつだよ。

種を0と1だけで書くと、160桁になるんだ。32桁ずつなら、5つに区切れるよ。

その区切りのどこに、癖が出るの?

素数を使わない曲線の4個では、どの区切りも先頭が0だったんだ。偶然ではまず起きないよ。

先頭がずっと0って、ふつうじゃないってことだね。

これは、lrand48という疑似乱数を作る部品の目印だったんだ。
この部品は、0と1が48桁並んだ値を中に持ってて、上の31桁だけを出すんだよ。

31桁の数を32桁の枠に入れると、先頭の1桁が余って0になるんだ。
32席の列に右から詰めて31人座ると、左端の席が必ず空くのと同じだよ。

出力に出てこない下の17桁は、2の17乗=13万1,072通りしかないんだ。
Claudeは全部を試して、式を進めて残りの区切りと同じ数が出るかを確かめたよ。

それで、内部の値は分かったの?

4個とも、分かったんだ。
P-256など、もう一方の5個の種も、別の計算方法で取り戻せたよ。
式を逆に回すと種を作った日時が出てきた

次は、この疑似乱数の式を逆に回したんだ。
この式は、後ろへも簡単に戻せるよ。

戻した先には、何があったの?

動かし始めた直後の最初の数は、P-256など、もう一方の5個のどれも、Unix時刻にあたったんだ。
Unix時刻は、1970年からの秒数のことだよ。
期間は1997年5月〜1998年4月なんだ。

つまり、時計の値を最初の数にして動かしてたってこと?

そう。P-256は、世界共通の時刻(UTC)で1997年8月16日のものだったよ。

ただ、その数が、すぐ種になったわけじゃないんだ。
使える曲線になる条件は、決まった大きさで、曲線上にある点の数が素数になることなどだよ。

そこで種1つ分ずつ候補を作って、1,842番目がNISTの一覧に載った種だったんだ。
作り方が分かると狙って選ぶ余地が減る

数がでたらめに見えても、作った側が弱い曲線を狙って選べたなら、安心はできないよね。

うん、狙って選べたかどうかが大事ってことだね。

今回は、時計の値で始めた疑似乱数から、機械的に作ったと分かったんだ。
それなら、種を好きに選べた余地は小さくなるよ。

Anthropicも今回の結果を、ECDSAの曲線の破り方でも新しい攻撃でも弱点でもないと明記してるよ。そのうえで、裏口なしで曲線が選ばれたという確信が強まったとしてるんだ。

そっか、暗号が破られたわけじゃないんだね。

発表には種を作り直すコードが付いていて、誰でも動かせるんだ。動かすと、P-256の種は一覧の値と同じ数になったよ。

レシピが公開されていて、誰が作っても同じ味になる料理に近いね。
隠し味をこっそり入れる余地は、少なくなるでしょ。
ただ、ゼロになったとは言えないんだ。
暗号の曲線にはまだ分からない部分も残る

じゃあ、疑いはもう全部晴れたんだね。

そこまでは言えないんだ。P-256の並びでは、876番目も同じ条件を満たしてた。
1,842番目を選んだ基準があったのか、意図しない結果なのかは分かってないんだよ。

ただ、条件を満たしたのに使われなかった候補は少なくて、弱い曲線を選んだとは考えにくいとAnthropicは見てる。
でも、時刻を変えて何度も動かして、狙った性質の曲線を探すことは、理屈の上ではできるとも書いてるんだ。何回動かしたかは、数からは分からないよ。

素数を使わない曲線の5個目、B-163の種も、出どころが不明のままなんだ。

まとめ
- ECDSAの曲線を決める種は、出どころが示されていなかった
- Claudeは古い疑似乱数の癖から作り方を見分け、P-256などの種が1997〜1998年の日時から作られたと突き止めた
- 今回の発見は暗号を破るものではない。Anthropicは裏口の可能性がずっと低くなったとしている
- 使われなかった候補の扱いとB-163の種はまだ分からない
数を眺めても、でたらめかどうかは分かりません。確かめる手がかりは、同じ種をもう一度作れる手順にありました。
上の31桁だけを出す癖が作り方を教え、前後どちらにも回せる式が作った日時まで道をつないだのです。
この記事の内容は、Anthropicが2026年10月16日に公開した発表によります。




