跳到正文
IFAI

AI科研

Claude 破解 25 年懸案:NIST 橢圓曲線種子來自 90 年代 C 語言隨機數

首次發布 傳播指數 40

Anthropic 的 Claude 破解了困擾密碼學界 25 年的懸案,反推了 NIST ECDSA 橢圓曲線種子的來源。它發現種子並非傳聞中的短語雜湊,而是 1997 至 1998 年用 C 語言 lrand48 結合時間戳生成的。這一發現證實曲線不存在故意設計的後門。

Claude 破解 25 年懸案:NIST 橢圓曲線種子來自 90 年代 C 語言隨機數
圖:anthropic.com

過去二十五年裡,密碼學界一直懸著一個大心病:保護全球網路流量的 NIST 橢圓曲線標準,到底有沒有被美國國家安全域性(NSA)留後門?

這套演算法就是 ECDSA,幾乎所有安全連線都在用它。當年 NSA 提交給 NIST 的引數裡帶有一串種子數字,卻死活不肯解釋這串數字打哪來。密碼學界幾十年來流傳著各種陰謀論,甚至有人設了懸賞金尋根究底。

2026 年 10 月,Anthropic 的一名員工隨手把這個問題扔給了內部的 Claude 研究模型。結果不到 30 分鐘,這個困擾全世界頂尖專家四分之一個世紀的謎題,被徹底解開了。

根本沒有什麼幽默暗語,只是程式設計師偷懶了

長期以來,圈內流傳最廣的一個傳言是,NSA 的老員工 Jerry Solinas 在 1990 年代用了一句搞笑的短語當密碼雜湊,比如「給鮑勃和傑瑞加薪」。但 Jerry 在 2023 年去世了,寫程式碼的同事也記不清細節,這條線索徹底斷了。

Anthropic 團隊之前也順著這個傳聞找過,一無所獲。這次提問時,他們乾脆沒給模型任何關於搞笑短語的提示。

Claude 換了個思路:既然是 90 年代寫的程式,程式設計師大機率直接用了當時 C 語言標準庫自帶的隨機數發生器。

它寫了一個掃描器,挨個測試 34 種老式生成器組合,結果抓出了一個顯著特徵:部分種子的最高位全是零。這正是當年非常古老且脆弱的線性同餘發生器 lrand48 的特徵簽名。

通過應用密碼學裡經典的 LLL 格基約簡演算法,Claude 倒推回了生成器的內部狀態。答案簡單得讓人哭笑不得:這些引數根本不是什麼複雜的加密雜湊,而是直接用 1997 年到 1998 年之間的 Unix 時間戳當種子,呼叫標準庫 lrand48 連續吐出來的。

比如大名鼎鼎的 P-256 曲線,就是用當年某個時刻的時鐘初始化生成器後,連續迴圈提取到第 1842 次拿到的候選值。

除了種子,Claude 還順藤摸瓜找出了 P-192 等曲線基點的出處:來自 Arjen Lenstra 開發的 FreeLIP 長整數運算包。當時 Claude 自己在思維鏈裡還反覆確認:「這解決了 25 年的謎題?我是不是在測試環境裡?這是真的。」

破解獲得的 36,864 美元懸賞,Anthropic 已經全部捐給了非營利組織網際網路安全研究集團(ISRG)。

為什麼重要

我們認為,這件事對整個網際網路安全界來說,是一記貨真價實的定心丸。

幾十年來,許多偏執的工程師和開源專案因為懷疑 NSA 在 P-256 裡動了手腳,寧願轉向其他曲線方案。現在真相大白:當年的工程師只是隨手拿了系統時間和老舊的 C 庫生成器,根本沒有精妙佈置後門的空間。這意味著現存的這套底層安全基礎設施比大家擔心的要乾淨得多。

更有意思的是對 AI 能力的重新審視。這不是大模型第一次寫程式碼,卻是大模型第一次在沒有先驗提示的情況下,自主建立假設、編寫掃描工具、呼叫格演算法並解開世界級懸案。

Anthropic 員工隨手提問到出結果只要半小時,說明在逆向工程、符號推理和老舊系統取證領域,AI 已經跨過了簡單的程式碼助手階段,具備了資深安全專家的直覺和執行力。

不過,目前還有一點懸念沒有解開。比如 B-163 的種子依然對不上這套規律,而且在 P-256 跑出結果前,程式跳過了幾個同樣可用的候選曲線。雖然 Anthropic 認為這更像是程式無意的副產物,但也提醒我們:歷史程式碼考古可以告一段落,但真正的嚴謹審視永遠不需要停歇。

來源 (1)

  1. [1]
    anthropic.com(在新分頁開啟)原文anthropic.com

每日 AI 內容精選