半小時解開 NSA 26 年歷史謎團

美國國家標準與技術研究院(NIST)在 2000 年公布的數位簽署標準中,包含 P-192、P-256 等多條橢圓曲線,其關鍵參數「種子」由美國國家安全局(NSA)提供卻未說明來源。密碼學界長期擔心這些數字可能經過刻意篩選以隱藏弱點。Anthropic 於 10 月 16 日公布,旗下內部研究模型 Claude 僅花費不到半小時,便追溯出這些種子實際上是透過 1990 年代的軟體工具生成。例如 P-256 曲線的種子可對應至 1997 年 8 月 16 日 01:52:34(UTC)的時間戳,當時程式在第 1,842 組候選數字中找到了符合標準的參數。

舊式亂數產生器與時間戳的巧合

Claude 並未依賴過去關於「幽默口令」的線索,而是自行編寫掃描程式,檢查了 34 種亂數產生器及輸出截取方式的組合。模型發現部分種子拆成 32 位元數字後,最高位元皆為零,這特徵符合舊式亂數產生器 lrand48 的輸出方式。透過數學方法還原產生器內部狀態並反向推算,研究團隊確認這些設定值對應 1997 年 5 月至 1998 年 4 月的 Unix 時間戳。這意味著當年的程式可能是先讀取電腦時鐘,再將時間轉成數字交給亂數產生器,不斷生成候選種子直到找到符合條件的曲線參數。

懸賞領獎與安全影響評估

曾於 2023 年設立懸賞的密碼學研究員 Filippo Valsorda 已確認此發現,並使用 Go 語言重新實作驗證。Anthropic 團隊於 10 月 15 日領取懸賞,並將獎金捐給營運 Let’s Encrypt 的非營利組織 ISRG,使懸賞總額增至 36,864 美元。雖然此發現大幅降低了 NSA 刻意篩選弱點曲線的可能性,但研究尚未解答全部問題,例如為何跳過 P-256 的第 876 組候選種子。重要的是,這次成果屬於歷史溯源,並未破解加密演算法或發現新漏洞,一般用戶無需因此更改密碼或更新裝置。