(媒角抵加/林承志綜合報導)數位簽章標準中的一批固定數字,來源有了可驗算的答案。Anthropic10月16日表示,Claude找出五條NIST橢圓曲線種子的生成方式;密碼學家Filippo Valsorda另以Go程式重現。這些公開參數用來建立簽章所需的曲線,研究補上其歷史來歷。台灣技術讀者可在自己的電腦驗算,既有使用者則無需因這項發現改動系統。

關鍵資訊

  • 研究成果:追溯P-192、P-224、P-256、P-384與P-521五條曲線的種子來源。
  • 生成方式:舊式偽亂數產生器搭配1997至1998年的時間戳記,再取指定序號的候選種子。
  • 外部重現:Valsorda公開獨立撰寫的Go驗證程式。
  • 讀者可做:用公開Python算式重算種子,無需Claude帳號。
  • 尚未解明:部分候選為何被跳過,以及部分基點與B-163種子的來源。

公開的曲線參數,留下二十多年的來源疑問

橢圓曲線數位簽章演算法(ECDSA)讓收件者核對資料是否被改動,以及簽署者的身分。曲線是運算共同使用的基礎;個別簽署者另有自己的金鑰。

NIST的SP 800-186標準列出曲線參數與種子,說明如何由種子經雜湊計算產生曲線係數。長期留下的問題,是當初的人如何挑出這些種子。

Anthropic的10月16日研究說明指出,Claude從1990年代軟體可能採用的亂數產生器追查,找到能重建公開種子的規則。

時間戳記與第1842組候選,算回P-256種子

Valsorda的獨立重現紀錄說明,生成程式先把當時的Unix時間戳記送入srand48()初始化,再從同系列的偽亂數產生器逐次取得位元組,每20個位元組組成一個候選種子。

以P-256為例,使用1997年8月16日01:52:34 UTC的時間戳記,取第1842組候選,便會得到標準公布的種子。其餘四條曲線也有各自對應的時間與候選序號。

發起種子來源懸賞的Valsorda以Go重新實作生成與驗證程序,並公開原始碼。原碼同時列出標準參數、生成步驟與候選檢查方式,讓其他人能沿同一組輸入核對結果。

Anthropic表示,這次內部研究模型在不到半小時內找到五個種子的來源。研究頁提供重算程式,未列可供一般帳號選用的該模型版本。

AI生成概念圖:公開時間戳記與候選序號送入生成程序,再將20位元組種子與NIST公布值比對;此圖依Anthropic及Filippo Valsorda的公開說明整理。

種子有了來歷,部分選曲步驟仍留有問題

重建生成序列後,研究者也看見部分候選被跳過。Valsorda指出,有些未被採用的候選也能產生符合已知條件的曲線,完整篩選理由仍不明。例如P-256的序列在第876組已有合適候選,最後公布的是第1842組。

曲線另有稱為「基點」的固定運算起點。Anthropic表示,團隊找到P-192等部分基點的生成方式,P-224、P-256、P-384及P-521的基點來歷仍未解明;另一類曲線中的B-163種子也仍是開放問題。

Valsorda認為,這次結果補上密碼學歷史的一頁,也強化他對相關曲線的信心。Anthropic則表示,本次發現沒有提出新的ECDSA攻擊或弱點,使用者無需因此改變既有使用方式。

台灣讀者可在本機驗算公開種子

想核對結果的技術讀者,可使用Anthropic文末的Python重算程式,以公開時間戳記與序號產生種子,再對照NIST文件。這段運算可在一般電腦本機執行,不需購買Claude方案或呼叫付費API。檢查完整候選曲線的Go工具則另涉及曲線階數計算,原碼列有PARI/GP的使用條件。

NIST的SP 800-186已將P-192列為僅供既有用途使用;資訊人員評估簽章系統時,可核對實際曲線名稱、函式庫版本與供應商更新資訊。

這類AI工作流由模型提出線索,再交由程式與專業人員驗證。相關研究驗證議題,可延伸閱讀OpenAI公開數學證明與評議程序及AI科學成果如何驗證,更多工具應用見Claude相關報導。

資料來源與更新紀錄