Claudeが25年以上謎だった暗号規格の数値の起源を解明、NSAが説明なく提供した数値は「1990年代の乱数」だった
ECDSAは「Elliptic Curve Digital Signature Algorithm(楕円曲線デジタル署名アルゴリズム)」の略称で、インターネット上の通信などでデータの送信者が本人であることやデータが改ざんされていないことを確認するために使われています。
ECDSAでは「楕円曲線」と呼ばれる数学的な構造を利用しており、楕円曲線の形を決める数値の選び方が暗号の安全性にも関係します。アメリカ国立標準技術研究所(NIST)は2000年に複数の楕円曲線を標準として採用しましたが、楕円曲線のパラメーターの一部を決めるために使われた「シード値」の出所については詳しい説明がありませんでした。シード値はNSAから提供されたもので、研究者の間では暗号を解読するための「バックドア」が仕込まれているのではないかという疑念も生まれていました。
Anthropicの研究者もシード値の起源を調べていましたが、長らく成果は得られませんでした。しかし2026年10月、社内の研究用AIモデルに調査を依頼したところ、Claudeは30分足らずで5種類の楕円曲線のシード値がどのように作られたのかを突き止めたとのこと。
Claudeが注目したのは1990年代のプログラムで使われていた「疑似乱数生成器」です。疑似乱数生成器は計算によってランダムに見える数値を作る仕組みで、初期値が同じなら同じ数列が生成されます。
Claudeはシード値のビットパターンを分析し、一部のシード値では数値を32ビットずつ区切った際に、各区間の先頭のビットがすべて0になる規則性を発見しました。規則性は当時使われていた「lrand48」という乱数生成器の特徴と一致していたとのこと。
さらにClaudeは乱数生成器の初期値を逆算し、1997年から1998年の日時を表す「Unixタイムスタンプ」が使われていたことを発見しました。Unixタイムスタンプは1970年1月1日からの経過秒数で日時を表す仕組みです。
例えば「P-256」という楕円曲線のシード値は1997年8月16日1時52分34秒(協定世界時)を初期値として乱数を生成し、20バイトずつ区切った際の1842番目の候補を取り出すことで再現できたとのこと。
Claudeは楕円曲線暗号で使用される「基点」と呼ばれる数値についても、一部の生成方法を解明しました。一方で、生成された候補のうち条件を満たす数値が採用されなかった理由や、一部の基点の生成方法などは依然として不明です。
今回の発見はECDSAの脆弱性を示すものではないとのこと。シード値が一般的な乱数生成器から作られていたことが確認されたことで、むしろ意図的な弱点が仕込まれている可能性が以前より低くなったとされています。
なお、暗号技術者のフィリッポ・バルソルダ氏はシード値の起源を解明した人物に賞金を贈る取り組みを実施しており、今回の発見によってAnthropicの研究チームが賞金の受賞者となりました。研究チームは賞金を無料のSSL/TLS証明書を提供する「Let's Encrypt」を運営する非営利団体「Internet Security Research Group」に寄付することを選択し、寄付額は当初の賞金の3倍となる3万6864ドル(約550万円)に増額されたとのことです。
The NIST Elliptic Curves Seeds Bounty Has Been Claimed
https://words.filippo.io/seeds-solved/
KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.



