NIST 種子之謎:AI 半小時解開二十多年後門疑雲,答案只是 1997 年的時間戳記

NIST 種子之謎(文章封面)

資安趨勢觀察 / 資料更新至 2026 年 10 月

網路上絕大多數的 HTTPS 憑證、數位簽章,背後都用到 NIST 在 2000 年公布的橢圓曲線。這些曲線有一串「種子」數字,由美國國家安全局(NSA)提供,卻從來沒說明是怎麼來的。二十多年來,資安圈一直有人懷疑:NSA 會不會刻意挑了有後門的曲線?

2026 年 10 月 16 日,Anthropic 的 Frontier Red Team 公布答案:他們內部的 Claude 研究模型,在不到半小時內找出了這些種子的來源。答案很平凡,平凡到有點好笑:不是神秘密碼,也不是搞笑句子的雜湊值,而是 1990 年代 C 語言內建的亂數函式 lrand48,用當下的 Unix 時間戳記當起點,跑出來的數字。

這篇文章會回答四個問題:種子是什麼、為什麼被懷疑這麼久?Claude 用什麼方法找到?對企業和一般使用者有什麼影響?還有哪些地方沒有解開?

30 秒看重點

不到 30 分鐘

Claude 找出 5 條 NIST 質數曲線種子來源所花的時間

10 組種子

5 組 NIST 加 5 組 ANSI X9.62 範例,全部符合同一個亂數模式

1997–1998

還原出的時間戳記落在 1997 年 5 月到 1998 年 4 月

第 1,842 個

P-256 的種子,是那次亂數執行產生的第 1,842 個候選值

0 個新漏洞

這不是破解,私鑰和簽章都不受影響,不需要緊急修補

資料:Anthropic 研究文章(2026 年 10 月 16 日),詳見文末資料來源。

01一串 40 位數的種子,讓人懷疑了二十多年

ECDSA 是目前最廣泛使用的橢圓曲線數位簽章標準。NIST 在 2000 年的 FIPS 186-2 數位簽章標準中,列出 P-192、P-224、P-256、P-384、P-521 等一組標準曲線。為了證明曲線是「隨機產生、沒有動手腳」,規格裡附了一個種子(seed):把它拿去做 SHA-1 雜湊,就能算出曲線的係數。

問題在於,雜湊只能證明「係數來自這個種子」,卻無法證明「種子本身沒被挑過」。這些種子由 NSA 提供,沒有任何說明。以 P-256 為例,種子就是一串十六進位數字 C49D3608 86E70493 6A6678E1 139D26B7 819F7E90,從哪裡來?沒人說得出來。

1997–1998 年|種子產生

NSA 的 Jerry Solinas 產生種子(當時沒有留下紀錄)

2000 年|成為標準

NIST 公布 FIPS 186-2(曲線延續 ANSI X9.62 的工作)

2013 年|疑慮升高

NSA 涉入的亂數標準 Dual_EC_DRBG 爆出後門爭議(大家開始回頭檢查 NSA 參與過的標準)

2015 年|學界整理

Koblitz 與 Menezes 發表〈A Riddle Wrapped in an Enigma〉(Solinas 回憶種子是某句玩笑話的雜湊)

2023 年|懸賞

Solinas 過世;密碼學家 Filippo Valsorda 發起懸賞(US$12,288,捐給慈善機構則加碼為三倍)

2026 年 10 月 16 日|解開

Anthropic 公布 Claude 的發現

為什麼種子這麼重要

如果設計者可以自由挑選種子,理論上就能一直換種子,直到挑中一條「只有自己知道弱點」的曲線。公開「種子是怎麼來的」,等於證明自己沒有這樣挑。這也是過去大家流傳「種子是玩笑話的雜湊值」這個說法的原因:如果真是一句隨口的句子,就很難是刻意挑的。

02Claude 不猜句子,改猜「90 年代的程式怎麼寫」

幾位 Anthropic 員工先前照著「玩笑話雜湊」的線索找過,都沒有結果,後來證明那條線索根本是錯的。這次,一位員工問內部研究模型能不能找出種子的產生方式,而且刻意不提供這條線索。Claude 換了一個角度:與其猜句子,不如推想當年產生曲線的軟體,最可能用了什麼工具。

1

提出假設

猜測當年的程式用了 1990 年代 C 函式庫內建、品質不高的偽亂數產生器。

2

寫掃描程式

沿著種子逐位元滑動,測試 34 種「產生器 × 取用位元」的組合,看相鄰區段是不是連續輸出。

3

發現破綻

有 4 組種子切成 32 位元一段時,每段最高位都是 0,偶然發生的機率約 1/5,810。這正是 lrand48 只輸出 31 位元的特徵。

4

還原內部狀態

質數曲線的種子只保留每次輸出的部分位元,Claude 用 LLL 格基約化(教科書等級的方法)把被截掉的狀態算回來。

5

倒推回起點

這種產生器可以往回算。倒推到初始化那一刻,得到的數字正好是 1997–1998 年的 Unix 時間戳記。

時鐘、老電腦亂數產生器與橢圓曲線的流程示意插圖
圖 1 種子的產生方式:以當下時間啟動亂數產生器,每 20 個位元組當成一個候選種子,再挑出能用的那一個

10 組種子(5 組 NIST 加 5 組 ANSI X9.62 範例曲線)都符合同一個寫法:lrand48() >> 23。每組還原出的 48 位元狀態,都能完整重現 160 位元的種子,Anthropic 指出這不可能是巧合。下表是 5 條 NIST 曲線的還原結果:

曲線亂數初始化時間(UTC)第幾個候選
P-1921997/5/18 14:45:34139
P-5211997/8/8 01:12:041,136
P-256
網站憑證最常用的曲線
1997/8/16 01:52:341,842
P-3841997/8/30 14:50:082,688
P-2241998/4/3 12:52:077,026

資料:Anthropic 研究文章附的重現程式碼(2026 年 10 月),時間以 UTC 換算;台灣時間要再加 8 小時。

Unix 時間戳記是什麼

電腦常用「從 1970 年 1 月 1 日 0 點(UTC)起算過了幾秒」來表示時間,這個整數就是 Unix 時間戳記。早年許多程式習慣直接拿它當亂數的起點,因為每次執行的時間都不一樣,寫起來最省事。

順著這條線,Claude 還有兩個附帶發現。第一,4 組二進位曲線(B-233 到 B-571)的種子也是同一個產生器,初始值看起來像 1984 年 2 月;如果把數值乘以 2,剛好落在 1998 年 4 月 17 日,研究團隊推測當時的程式可能把時間除以 2。第二,6 條 1997 年 5 月產生的曲線(包括 P-192),它們的基點(ECDSA 所有公鑰都是它的倍數)來自 Arjen Lenstra 的大數運算套件 FreeLIP 的亂數產生器。Anthropic 表示,據他們所知,這是第一次有人解釋 NIST 曲線的基點從哪裡來。

03這不是漏洞,而是一顆定心丸

這不是密碼破解、不是新攻擊,也不是 ECDSA 曲線的弱點。

——Anthropic 研究文章(意譯)

Anthropic 的說法是:種子用一種非常單純的方式產生,任何人都能重現,留給人動手腳的空間就小得多,因此他們對這些曲線沒有後門「更有信心」。研究團隊也直接說,讀者不需要採取任何行動。具體來說:

降低信任疑慮

過去因為「來源不明」而對 NIST 曲線有顧慮的企業與政府單位,現在多了一份可以查核的公開解釋。

不需要緊急修補

研究沒有算出任何私鑰,也不能偽造簽章。網站憑證、Apple iMessage 的 PQ3 協定(以 P-256 搭配後量子演算法 Kyber)都照常運作。

人人都能驗證

Anthropic 公開了短短二十多行的 Python 程式碼,輸入時間戳記與候選序號,就能跑出和標準一模一樣的種子。

要記得

lrand48 是很弱的亂數產生器,輸出可以被預測。拿它來產生「公開參數」問題不大,甚至因為可重現反而是好事;但如果拿它來產生密碼、金鑰或驗證碼,就是嚴重的資安漏洞。同一個工具,用在不同地方,風險完全不同。

04AI 做資安研究,關鍵在「換一個角度」

這次最值得注意的,不是 AI 算得多快,而是它沒有被既有線索綁住。人類研究者花了多年在猜「那句玩笑話是什麼」,Claude 則從「當年的軟體環境」出發,提出可以用計算驗證的假設,再自己寫程式驗證。

Anthropic 也公開了模型當時的思考片段:它先懷疑自己是不是在測試環境裡,再用「160 位元完全吻合,不可能是巧合」說服自己這是真的發現。這種先懷疑、再用證據確認的過程,正是做研究該有的態度。

當然,這仍是人機合作的成果:問題是人提出的,結果由 10 位研究人員檢查、撰寫並公開程式碼讓外界驗證。可以預期,未來 AI 會更常被用來審查老舊的密碼標準和程式碼;同樣的能力,也可能被攻擊者拿去找漏洞,這是資安團隊要一起面對的現實。

但,謎題還沒有百分之百解完

Anthropic 自己也列出了尚未解開的問題。轉述這則新聞時,這些限制同樣重要:

有些候選被跳過

P-256 選的是第 1,842 個候選,但同一次執行的第 876 個也能做出條件相同的曲線;P-224 跳過 3 條,ANSI 範例曲線跳過 7 條。原因不明,團隊認為數量太少,不像是刻意挑弱曲線。

B-163 仍然無解

第五組二進位曲線 B-163 的種子,不符合 Claude 試過的任何模式。

多數基點來源未知

P-224、P-256、P-384、P-521 以及二進位曲線的基點,仍無法解釋。

真正要排時程的是量子

NIST IR 8547 草案提議:RSA、ECDSA 等易受量子電腦威脅的演算法,2030 年後列為不建議使用,2035 年後禁用。這和種子無關,卻是企業該規劃的事。

看新聞,先看用詞

網路上有些轉述寫成「證明 NIST 曲線完全沒有後門」。比較精確的說法是:種子的來源找到了,讓「NSA 刻意挑選後門曲線」這個說法變得很難成立。研究團隊也提到,理論上仍可能有人透過嘗試很多個時間戳記來挑曲線,只是沒有證據顯示這麼做過。「很難成立」和「數學上證明不可能」是兩回事。

05給企業的行動建議:不用慌,但要盤點

有時候系統看起來像有後門,其實只是近 30 年前的工程師,用了當年最常見的寫法:拿時間當亂數的起點。

這則新聞對企業最實際的提醒,不是「趕快換掉 P-256」,而是「你知道自己的系統用了哪些加密嗎?」可以從三步開始:

1

先盤點

列出網站憑證、VPN、程式碼簽章、資料庫加密各用了哪些演算法和金鑰長度。

2

跟著標準走

使用主流函式庫與公認標準,不要自己發明加密;評估第三方產品時,請廠商說明演算法與更新方式。

3

排後量子時程

留意 NIST 的遷移時程與「傳統加後量子」的混合式方案,先從保存期限長的資料規劃。

資訊主管

把「加密演算法清單」納入資產盤點,遇到客戶或稽核詢問 ECDSA 疑慮時,可以引用這份公開研究說明。

開發者

產生金鑰、權杖、驗證碼時,一律使用密碼學安全的亂數(例如 Python 的 secrets),別用一般亂數函式。

老師與學生

這是很好的教材:偽亂數、雜湊、可驗證性、查證新聞用詞,一個故事全部串起來。

本文重點

  1. NIST 橢圓曲線的種子由 NSA 提供卻沒有說明,二十多年來引發後門疑慮。
  2. Claude 不到半小時找出答案:種子是 lrand48 以 1997–1998 年的 Unix 時間戳記啟動後產生的輸出。
  3. 這不是漏洞,私鑰與簽章都不受影響,反而讓後門說法更難成立。
  4. 仍有未解之處:被跳過的候選、B-163 種子、多數曲線的基點。
  5. 企業該做的是盤點加密與規劃後量子遷移,而不是因為這則新聞緊急換曲線。

vLAB 隨堂問

實務上,企業在選擇加密演算法(例如 RSA 或 ECDSA),或評估第三方產品的加密實作時,你們團隊最看重哪一項指標?效能、是否符合 NIST 標準、金鑰長度,還是其實都直接用預設值?

資料來源

  1. Anthropic Frontier Red Team(2026/10/16)。Claude reveals ECDSA curve origins
  2. Filippo Valsorda(2023/10/5)。Announcing the $12k NIST Elliptic Curves Seeds Bounty
  3. Neal Koblitz、Alfred Menezes(2015)。A Riddle Wrapped in an Enigma
  4. NIST(2000)。FIPS 186-2 Digital Signature Standard
  5. NIST(2024/11/12,初始公開草案)。NIST IR 8547: Transition to Post-Quantum Cryptography Standards
  6. Apple Security Research(2024/2/21)。iMessage with PQ3

本文插圖為 AI 生成的示意圖。


Edit with Tr.Bug

Follow me on:LinkedIn | 探教育TempEDU