Claude 成功還原 NSA 1997 年曲線種子來源,AI 自主研究能力展現新高度
(前情提要:美國安局偷用 Anthropic Mythos:五角大廈一手封殺、一手放行的兩面手法)
(背景補充:白宮與 Anthropic 達成協議,NSA 將全面匯入 Claude AI)
先給結論:Claude 沒有破解橢圓曲線密碼學,沒有算出任何人的私鑰,也沒有讓 TLS 或比特幣突然失效。它破解的是一段密碼學歷史——NSA 當年交給標準組織的幾串公開「種子」,究竟是怎樣生成的。
這個區別很重要。把它說成「AI 半小時攻破全球加密」,是錯的;把它當成無關緊要的數字考古,也低估了它。
這項發現同時闡述四件事:一,最常用的一組 NIST 橢圓曲線被故意植入後門的可能性顯著下降;二,標準中的「可驗證隨機」如果不能解釋最初輸入從哪裡來,仍然只驗證了半條信任鏈;三,前沿模型已經能把文獻理解、假設生成、寫程式碼、統計檢驗和格演算法串成一次自主研究;四,AI 更現實的密碼學衝擊,不是今天突然解開 256 位私鑰,而是以極低成本翻查那些長期無人願意審計的協議、實現和歷史遺留物。
橢圓曲線可以粗略理解成一種公共的「鎖具設計」。每個使用者有自己的私鑰,但使用同一種曲線的人,共享一套公共引數。對素數域上的曲線,常見方程寫作:
`y² = x³ + ax + b (mod p)`
真正的標準還要規定有限域 `p`、係數 `a` 和 `b`、基點 `G`、基點階 `n`、餘因子 `h` 等引數。私鑰不是這些引數;它是在這套公共規則中由使用者另行生成的秘密數字。
2000 年發布的 FIPS 186-2 收錄了 P-192、P-224、P-256、P-384 和 P-521 等曲線。NSA 給予了曲線及 160 位種子,標準規定用 SHA-1 等步驟從種子匯出曲線係數。任何人拿到種子,都能復算「這個種子確實得到這個係數」。
問題在於:種子本身為什麼是這 160 位?
Claude 突破:1997 年 NIST 種子重現
這像彩票機構公開了中獎號碼和搖號演算法,卻沒有展示最初放進機器的是哪組球、為何是這組球。如果設計者先試過海量種子,最後挑中一條具有某種秘密弱點的曲線,後來人只驗證「種子能匯出曲線」,並不能排除這種篩選。
密碼學把π、自然常數或公開文字經過確定步驟得到的引數叫作「袖中無物數」(nothing-up-my-sleeve numbers):重點不是這些數字更神聖,而是選擇過程沒有隱藏的旋鈕。NIST 曲線的種子公開,來源卻沒有闡述,所以形式上「可驗證隨機」,來源上卻不可審計。
這種不信任不是憑空產生的。2013 年後,NSA 參與推動的 Dual_EC_DRBG 隨機數生成器被廣泛認為存在可被掌握特殊引數關係者利用的後門風險,NIST 隨後將其撤回。Dual_EC_DRBG 與這次討論的 NIST P 曲線不是同一件東西,但它調整了人們對「請相信引數選擇者」的容忍度。Neal Koblitz 與 Alfred Menezes 在 2015 年的論文 A Riddle Wrapped in an Enigma 中系統梳理了爭議;2023 年,密碼學工程師 Filippo Valsorda 等人為找到種子來源設立懸賞。
流傳最廣的線索來自 NSA 數學家 Jerry Solinas:種子也許是「給 Bob 和 Jerry 加薪」之類玩笑短語的雜湊。Anthropic 員工沿著這條線索試過,沒有成功。Solinas 於 2023 年去世,原始程式和檔案也未找到,謎題看起來會永遠停在口述史裡。
2026 年 10 月,一名 Anthropic 員工把問題交給一個未公開具體版本的內部研究模型,而且沒有告訴它「玩笑短語」這條線索。據 Anthropic 10 月 16 日發布的研究闡述,模型不到半小時便找到生成方法。
關鍵不是暴力列舉所有英文句子,而是換了問題:1997 年的工程師最可能用什麼軟體產生這些看似隨機的位元組?
Claude 檢查了 34 種老式偽隨機數生成器及輸出切片組合,沿著種子逐位滑動,尋找連續輸出的痕跡。它發現部分種子的若干 32 位字最高位總是 0。這不是安全證明,卻像機器留下的齒痕:POSIX/C 庫的 `lrand48()` 每次只輸出其 48 位內部狀態的高 31 位,恰好會留下這種模式。
對保留了較多輸出位的種子,窮舉 17 個被隱藏的低位就能恢復內部狀態。更難的是五條 NIST 素數曲線以及五條 ANSI X9.62 曲線:生成程式只保留了 `lrand48() >> 23` 的片段。Claude 把問題轉換成「截斷線性同餘生成器的狀態恢復」,再用 LLL 格基約減演算法尋找滿足多組近似線性關係的短向量。
密碼學疑雲:公開種子引發後門疑慮
通俗地說,像是你只看到一臺老式里程錶每次轉動後露出的幾位數字。一次讀數資訊不足;連續多次讀數連同齒輪傳動規則,足以把被擋住的數字反推回來。LLL 在這裡不是破解橢圓曲線,而是高效地把許多帶截斷的算術約束拼在一起。
恢復 48 位狀態後,`lrand48` 這種線性同餘生成器既能向前算,也能向後倒。Claude 倒推到 `srand48(t)` 初始化後低 16 位固定為 `0x330E` 的狀態,再把高位解釋成 Unix 時間戳。結果不是一個模糊年代,而是一組落在 1997 至 1998 年的具體 UTC 時刻:
| 曲線 | `srand48` 的 UTC 時間 | 命中的第幾個 20 位元組候選 |
|—|—:|—:|
| P-192 | 1997-05-18 14:45:34 | 139 |
| P-521 | 1997-08-08 01:12:04 | 1,136 |
| P-256 | 1997-08-16 01:52:34 | 1,842 |
| P-384 | 1997-08-30 14:50:08 | 2,688 |
格基演算法:截斷 RNG 狀態恢復
| P-224 | 1998-04-03 12:52:07 | 7,026 |
以 P-256 為例,用時間戳 `871696354` 初始化生成器,依照恢復出的取位元組方式執行到第 1,842 個候選,就會完整得到標準裡的 160 位種子 `C49D3608 86E70493 6A6678E1 139D26B7 819F7E90`。不是「相似」,而是逐位一致。
這類匹配很難用巧合解釋。更重要的是,懸賞發起人 Valsorda 用 Go 獨立重寫並復現了生成過程,驗證這些時間戳和候選編號可以重新生成已發布的種子。也就是說,發現來自 Anthropic 的內部模型,但結論不要求公眾相信模型的自述。
新聞中最容易混淆的是三個完全不同的「隨機數」。
第一種是曲線引數的種子。它是公共設計材料,用來決定大家採用哪一把「鎖」。這次復原的就是它。1997 年用時鐘播種的 `lrand48` 很弱,但這裡的輸出從一開始就是公開的;攻擊者預測它,並不會因此得到任何使用者私鑰。
第二種是使用者私鑰的隨機數。如果錢包真的用 `lrand48` 加時間戳生成私鑰,當然可能被反推,資金也可能被盜。但本次發現沒有表明 NIST 曲線使用者這樣生成私鑰。
第三種是 ECDSA 每次簽名使用的 nonce(臨時數)。nonce 重複或可預測會洩露私鑰,這是現實中發生過的嚴重漏洞;現代實現常用確定性或帶額外隨機性的簽名方法降低風險。它同樣不是此次找到的曲線種子。
所以,「種子來自弱 PRNG」與「曲線密碼被弱 PRNG 攻破」聽起來只差幾個字,安全含義卻正好相反。這裡,弱生成器的可逆性幫助研究者恢復了歷史過程;它沒有削弱曲線離散對數問題,也沒有降低現有私鑰的搜尋難度。
隨機數三層:種子非私鑰非 nonce
這項發現最重要的密碼學意義,是壓縮了設計者當年的選擇空間。
一種設想中的「選曲線後門」並不需要在方程裡放一扇肉眼可見的門。設計者可以掌握某類極罕見弱曲線的識別方法,再秘密嘗試大量種子,直到挑中一條只有自己知道如何利用的曲線。Daniel J. Bernstein 與 Tanja Lange 曾描述過一種思路:如果選擇者擁有約 70 位自由度,就可能瞄準一個假設中規模約為 `2⁶¹` 的弱曲線類別。
現在可復現的時間線把空間縮得多。Valsorda 的保守估計是:即使允許設計者在 1997—1998 年每一秒之間任選時間,再從前 16 個合格候選中任選一個,也只有約 30 位選擇自由度。30 位不是零,卻遠不足以執行上述 70 位級別的定向篩選。這不能邏輯上證明 NSA 在 1997 年絕不可能掌握任何今天未知的數學,但它排除了此前最具體、最可討論的一類挑選機制,使「透過海量種子搜尋埋入 NOBUS 後門」的說法困難得多。
這裡仍需保留三個腳註。
其一,程式跳過了一些表面上合格的候選。P-256 在第 876 個候選已經出現一條滿足已知條件的素數階曲線,卻最終採用第 1,842 個;P-224 的執行也跳過了三個候選。團隊找到一條額外篩選規則,另一條仍不清楚。跳過少量候選不等於後門——要靠這麼少的選擇命中極罕見弱點,弱曲線反而必須常見——但完整歷史還沒有復原。
其二,種子決定曲線係數 `b`,不決定基點 `G`。Claude 找到了 P-192 和若干 ANSI 示例曲線的基點來源,卻仍未解釋 P-224、P-256、P-384、P-521 的基點如何選擇。
其三,二元域曲線中的 B-163 種子尚未恢復,其餘幾條二元域曲線則可能使用了「時間除以二」的初始化方式。於是最準確的說法不是「NSA 曲線所有謎團全部解決」,而是:五條核心 NIST 素數曲線的種子來源已被可復現地解釋,最主要的種子後門疑雲顯著消退,若干引數選擇細節仍是開放問題。
有關係,但不是背景資料所說的「這些種子是比特幣 TLS 數字簽名的根基」。這句話把三層概念縫在了一起。
後門假說:選擇自由度大幅壓縮
TLS 是瀏覽器、伺服器等建構安全連線的協議。NIST P-256(也叫 secp256r1)長期用於 TLS 中的金鑰協商或 ECDSA 證書籤名,因此這次發現確實涉及網際網路廣泛部署的一條曲線。它帶來的訊息是信心增強,不是緊急更換證書;Anthropic 明確表示沒有需要使用者採取的行動。
比特幣使用的是另一條曲線 secp256k1。它與 NIST P-256/secp256r1 名字相近、同屬橢圓曲線家族,卻不是同一條曲線,也不由此次復原的 NSA 種子產生。SEC 2 標準把 secp256k1 的方程寫成極簡形式 `y² = x³ + 7`;BIP 32也明確指定比特幣採用 secp256k1。比特幣傳統交易使用該曲線上的 ECDSA,Taproot 則使用同一曲線上的 Schnorr 簽名。
因此:這項發現不衝擊比特幣私鑰,不解釋中本聰為何選擇 secp256k1,也不調整量子計算機未來可能用 Shor 演算法威脅橢圓曲線密碼的長期問題。把「橢圓曲線」四個字相同,推成「比特幣也被破解」,就像發現某款門鎖的設計檔案,便宣布所有使用金屬鑰匙的門都已失守。
如果只看答案,「原來是時間戳」似乎過於樸素。真正有分量的是得到答案的路徑。
Claude 沒有隻在訓練記憶裡檢索一條現成事實。按照 Anthropic 的敘述,它發表了與流行口述相反的假設,編寫掃描器,比較幾十種舊 PRNG 的輸出結構,從統計異常識別 `lrand48`,為截斷輸出呼叫 LLL,恢復狀態,倒推初始化形式,再用完整 160 位匹配驗證結果。隨後,人類研究者整理、複核併發布了可執行程式碼,外部密碼學家獨立重寫驗證。
這是一條「小型科研閉環」:
`閱讀問題 → 形成假設 → 設計檢驗 → 編寫工具 → 處理失敗 → 數學求解 → 交叉驗證 → 給出可復現實驗`
過去的模型常能解釋 LLL 是什麼,也能寫一個線性同餘生成器;這次更強的地方,是在沒有標準解題路線時判斷何時把兩者連線起來。它顯示前沿模型正在從「回答已有答案」走向「在工具環境中製造新證據」。對軟體考古、惡意樣本探討、協議模糊測試、形式化證明輔助和標準審計,這種能力會產生真實生產力。
TLS 比特幣:secp256k1 曲線無關
但「半小時」也需要正確解讀。密碼學界不是連續 25 年、每天八小時都在窮舉這道題。人類已經寫好了標準、發表了後門模型、儲存了種子、發明瞭 LLL、實現了計算軟體,還把問題包裝成公開懸賞。模型站在整套知識與工具鏈的頂端,極快地找到了此前沒人認真測試的組合。它壓縮的是一次研究搜尋的邊際時間,不是憑空替代 25 年科學積累。
同時,公開材料沒有給出內部模型的確切版本、完整原始會話、失敗分支、算力消耗或人類在半小時內的介入細節。因此可以確信的是生成法與結果——它們已被程式碼復現;「完全自主、不到半小時」的能力敘事主要來自 Anthropic 自己,尚不足以作為嚴格的可重複模型基準。把可驗證成果與廠商的能力歸因分開,是評價 AI 科研最基本的紀律。
這次事件並不預示 AI 明天會暴力算出 P-256 私鑰。經典計算下,成熟橢圓曲線的安全性來自規模巨大的離散對數問題;會寫程式碼、會用 LLL,不等於能跨越指數級複雜度。
更近期的變化發生在另一處:安全系統裡存在大量「數學本身沒壞、但來源不明、實現陳舊、組合複雜」的黑盒。它們之所以多年未被徹查,常常不是無解,而是資料分散、測試空間煩瑣、回報不明確,難以長期佔用頂尖研究者。能讀舊論文、生成探測程式碼並長時間執行工具的 AI,會顯著降低這類審計的成本。
這是一把雙刃劍。防守者可以批次複核標準引數、尋找弱隨機數指紋、檢查供應鏈裡的歷史程式碼;攻擊者也可以更快發現冷門協議、韌體和企業自研密碼中的組合漏洞。真正會先被「撕開」的,往往不是有充分公開審計的 AES、TLS 1.3 或主流曲線,而是那些依賴保密實現、模糊引數和「幾十年沒人碰過」的系統。
正確回應不是恐慌性棄用 NIST 曲線,而是把標準設計變得更容易機器審計:
- 引數生成必須從公開、不可操縱的熵源或事先承諾的資料出發,給出完整指令碼、版本和篩選規則;
- 安全證明、參考實現與測試向量應允許任何人端到端復現,而不只驗證最後一步;
- 對 AI 發現要儲存完整執行記錄,區分模型獨立達成、人類提示和事後整理;
- 把模型用於防禦性遺產審計,同時用隔離環境、許可權控制和負責任披露約束其網路與執行能力;
- 繼續推進後量子遷移,但不要把量子威脅與本次種子溯源混為一談。
這不是一場密碼學災難,而是一次信任賬本的補記。
過去 25 年,人們知道 NIST 曲線可以抵抗公開探討,卻不知道最初那幾串數字為什麼在那裡。如今,一條從 1997 年 Unix 時鐘、`srand48`、候選編號到標準種子的可執行鏈條,把「請相信 NSA 沒動手腳」改成了「你可以自己復現它大概怎樣產生」。密碼學最珍貴的進步,往往不是增加信任,而是減少必須信任的部分。
對 AI 而言,這也是比「答對一道奧賽題」更值得重視的訊號:模型開始能夠在一個真實、開放、答案未知的問題上,留下外部專家可以獨立檢驗的新證據。今天它替一段加密史補上出處;明天,同樣的能力會被用於發現漏洞,也會被用於證明系統沒有人們擔心的那種漏洞。
所以,這件事真正顯示的不是「AI 已經攻破密碼學」,而是:密碼學世界中僅靠歷史、權威或無人追問維持的黑盒,保質期正在迅速縮短。
📍相關報導📍
OpenAI 執行長 Sam Altman 砲轟 Anthropic:恐懼行銷 Claude Mythos 只為壟斷 AI

