2026 年 10 月 16 日,Anthropic 的 Frontier Red Team 在官網發布了〈Claude reveals ECDSA curve origins〉,說明 Claude 曲線種子研究如何追回一批 NIST 橢圓曲線參數的來源。這件事最值得興奮的地方,是答案能被另一個人重新寫程式核對;最容易被誤讀的地方,則是把「找到參數來源」聽成「破解數位簽章」。

先看原文解開哪一層問題,再對照懸賞發起人的獨立驗證與公開標準,最後判斷:這份成果替密碼學與 AI 研究各增加了什麼證據。
Claude 曲線種子研究解開的是哪個問題?
你可以把曲線想成大家共同使用的一張數學地圖,私鑰則是使用者保管的秘密數字。這次追回的是地圖部分參數的製作材料與步驟。知道印地圖的配方,與取得某個人的秘密,是不同任務。
NIST 在 2000 年發布的 FIPS 186-2,列出這些曲線的種子、係數與基點;其中種子會經 SHA-1 參與推導係數。標準能讓人核對「給定種子如何得到參數」,而這次研究再往前追問:那串種子本身怎麼選出來?
這裡有兩層「種子」:一個是公開的 160-bit 曲線種子;另一個是初始化偽隨機產生器的時間戳。混在一起,就容易誤以為研究者取得了使用者的金鑰。P-256 的公開曲線種子是 C49D360886E704936A6678E1139D26B7819F7E90,早就在標準裡。
答案是一條能重算的流水線
懸賞發起人 Filippo Valsorda 的驗證文章,把生成過程連到以當時 Unix 時間初始化的 drand48 家族。這類產生器像一台固定齒輪的機器:起點相同,後續數列就相同。每次取出一個 byte,湊滿 20 bytes 當候選曲線種子,再繼續往後取。
以 P-256 為例,初始化值是 871696354,對應 1997 年 8 月 16 日 01:52:34 UTC;第 1,842 組候選,恰好等於標準中的那 20 bytes。重點是整段輸出吻合,不只是日期看起來合理。

AlphaLab 這次在本機用 Python 整數運算重算 P-192、P-224、P-256、P-384、P-521,並從 NIST 的原始 FIPS PDF 擷取預期種子比較,五組均完全相同。這個驗算只檢查「已知起點與序號會不會產生指定字串」;沒有重做模型的發現過程、格演算法搜尋或所有候選曲線的階數計算。
從猜一句話,改成辨認舊程式留下的指紋
Anthropic 敘述的轉折,是放下「某句幽默短語經過雜湊」的舊線索,改猜 1990 年代程式會使用什麼產生器。依原文,Claude 掃描多種產生器與輸出切片,先辨認部分種子的位元特徵,再用 LLL 格基底約簡處理被截短的輸出,回推出內部狀態。這是作者對發現過程的報告。

Linux man-pages 的原始手冊說明,這個家族以 48-bit 狀態做線性同餘運算,lrand48() 取出最高 31 bits;再右移 23 位,留下最高 8 bits。drand48() 與 lrand48() 的回傳型別不同,但共用這套狀態演進,所以兩篇文章採用不同函式名稱,仍能描述同一組逐 byte 輸出。
這種研究方式可貴的地方,是把看似任意的字串變成可被推翻的假說。猜「某人可能用過一段短語」很難結案;指定產生器、初始化值、取樣方式與序號後,每個人都能算出相同或不同的結果。
獨立驗證支持了什麼,又沒有驗證什麼?
I reimplemented the algorithm in Go to verify the claim.
中文:我用 Go 重新實作了這個演算法,以驗證這項主張。
Filippo Valsorda
Valsorda 也公開了Go 原始實作,不只列出已發布種子,也列出同一串數列中通過其條件檢查、卻未被採用的候選。這比另一篇轉述新聞更有力:讀者能檢查他如何取樣、如何推導參數,以及怎麼判定候選。
但這份獨立驗證主要支撐的是數學配方與輸出,不會自動驗證 Anthropic 所說的「不到半小時」。原文將執行者稱為 internal research model,因此應把這次成功視為該次內部研究流程的成果,不能據此承諾任何讀者用手上的 Claude 版本,都能以相同時間解出另一個懸案。
這與先前歷史密碼解法的版本查核相通:解答是否成立、問題材料是否完整、模型貢獻如何歸因,需要各有證據。可驗算的結果,應獲得肯定;單次成功的故事,仍不能直接換算成一般成功率。
Claude 曲線種子的未解部分:篩選、基點與 B-163
先看「為什麼跳過」。Valsorda 的結果顯示,P-256 的第 876 號候選已符合其檢查的條件,最後發布的卻是第 1,842 號;兩篇原文都保留了進一步篩選原因的疑問。機器可能做過額外檢查,也可能有歷史程式的行為差異,目前列出的結果無法替這些解釋定案。

再看基點。Anthropic 另報告,P-192 與五條 ANSI 範例曲線的部分生成歷史可連到 FreeLIP 的亂數產生器,並附程式核對基點 x 座標。曲線種子與基點是不同參數,不能把前者重建成功當成後者全部交代完畢;該文仍把 P-224、P-256、P-384、P-521 的基點來源列為未解。
最後是二元曲線。研究團隊報告還原了四條的種子,並提出「時間值可能被除以二」的解讀;這個時間解讀應保留推測語氣。B-163 的種子在該文中仍未解開。對讀者最準確的摘要,是五條 NIST 素數曲線種子的配方已能重建,而不是所有參數的完整歷史都已結案。
AlphaLab 的判讀:更透明的來歷,不等於全面安全證明
一、還原舊產生器,不會直接給出私鑰
This is not a cryptographic break, new attack, or weakness in the ECDSA curves.
中文:這不是對 ECDSA 曲線的密碼破解、新攻擊或弱點。
Anthropic
這句原文符合這次成果的範圍。RFC 6979將 ECDSA 的公開參數、私鑰與簽章使用的數值分開處理;參數種子來源被說明,並不完成從公鑰求私鑰的任務。舊產生器容易回推,是這次歷史鑑識的線索,不能直接當成曲線簽章被攻破的證據。
也別把這件事與Claude 先前的 HAWK 與 AES 密碼分析混讀。判斷「AI 破解密碼」時,先問被攻擊的是哪個數學問題、得到什麼能力,再談影響。這次的交付物是參數溯源配方。
二、選擇空間變小,有助於縮窄後門猜測
公開一串任意數字,與用一個日期加固定程序產生同一串數字,能容納的自由選擇不同。Valsorda 認為,這個結果大幅壓縮了某類刻意挑選弱曲線的可能空間。這是有機制支撐的信心提升,但應和「所有可能的弱點都被排除」分開。
跳過的候選為何被跳過、歷史上曾跑過幾次,仍會影響我們能對選擇過程說多滿。我的判斷是:可以降低某些特定後門故事的可信度,也應保留「生成歷史更清楚」與「系統每一層都安全」之間的距離。
三、最有價值的 AI 成果,是能脫離模型接受檢查
這個案例的答案並不要求讀者相信一段模型自述。公開配方可以交給一般程式執行,再與多年前的標準對帳。模型負責提出猜想與找路,驗證器負責判斷交付物;即使模型下一次換版本,這份檢查仍然成立。
相反地,若把「25 年懸案」除以「半小時」當成生產力倍數,就把社群多年來的研究條件、問題選擇與一次成功混成同一把尺。這份案例適合證明某個結果值得檢查,還不足以估算一般研究專案能快多少。
四、原文希望結束猜疑,我們更該帶走的是驗收方式
我同意什麼:能逐 byte 對回公開標準、且有獨立實作的結果,值得當作實質成果,而非只當宣傳。我存疑什麼:把這一例推成「AI 已普遍取代密碼學家」,或把仍有空白的歷史說成所有疑問都已排除。作者呈現的解答很強;擴張後的口號需要額外證據。
接下來讀 AI 科研新聞,先找三樣東西
第一,找交付物:程式、證明、資料或明確參數。第二,找獨立檢查:驗證者是否真的重新計算,還是只引用公司新聞稿。第三,找未解清單:成功範圍外還留下哪些問題。三者齊全,才知道值得信任的是哪一部分。
如果你正在做研究工具,可以先挑一個答案能由確定性程式核對的小問題,讓 AI 提假說,保留候選與失敗,再用固定驗證器篩選。先定義「什麼叫對」,比追逐一次漂亮回答更有幫助。至於密碼系統維護,本次種子溯源本身並未提供要求緊急更換曲線的新攻擊理由;應依系統所適用的標準與實作需求評估。
接著閱讀
左右滑動查看更多推薦
下一次看到「AI 解開多年懸案」,先追到能讓另一個人重算的那一頁。這次最值得留下的,是一個答案終於有了可檢查的配方。
