Cryptanalysis

安全橢圓曲線的特性是什麼?

  • June 2, 2018

我聽說過稱為 NIST 曲線的標準橢圓曲線。這種密碼學安全的橢圓曲線有什麼特性?它們是否根據某些協議進行標準化?此外,攻擊者是否從知道使用了哪條曲線中獲得了巨大的好處?

對於 Diffie-Hellman 密鑰協議和 Schnorr 類型簽名等典型協議,* SafeCurves調查了橢圓曲線選擇的現代安全標準。在這些協議中,假設對手知道曲線的選擇;安全性來自曲線的標準,而不是曲線的保密性。†

基本標準是計算“離散對數”——即,給定一個標量倍數 $ [n]P = P + \dots + P $ 已知點的 $ P $ 在曲線上由一個秘密整數 $ n $ , 計算 $ n $ ——成本遠高於 $ 2^{100} $ 曲線加法。但是還有許多其他標準,例如扭曲安全性,對於未經訓練的觀察者來說並不那麼明顯,並且在 NIST P-224 等歷史標準曲線的設計中也沒有考慮到。

某些標準不是關於安全不安全曲線本身,而是關於快速安全快速安全實施:例如,NIST P-256 不承認蒙哥馬利階梯,這是一種快速計算方法 $ x $ - 在恆定時間內限制標量乘法。在 NIST P-256 中,您可以快速或在恆定時間內計算標量乘法,但不能同時計算兩者——因此在實施 NIST P-256 或選擇它的實施時,為了追求性能而犧牲安全性是很誘人的,而使用 Curve25519,您可以使用蒙哥馬利階梯同時實現這兩者,並且沒有誘惑以這種方式犧牲安全性。

一些標準與某些協議相關,但與其他協議無關,例如,因為 DH 密鑰協議受到與簽名安全模型無關的主動攻擊。幸運的是,有些曲線滿足所有標準,例如 Curve25519、Ed448-Goldilocks 和 E-521。其中前兩個在RFC 7748中進行了標準化,它還規定了一個嚴格的程序,用於為滿足所有安全標準的給定素數欄位選擇一條曲線,並通過某些簡單的啟發式方法優化性能——順便說一下,該程序也會生成 E-521 . ‡


  • SafeCurves 不解決更奇特的應用程序,例如基於配對的密碼學,這些應用程序必須使用不同類別的曲線。

†在各種提議的基於後量子同源的密碼系統中,曲線的選擇是曲線同源圖中秘密位置,但這與今天通常稱為橢圓曲線密碼學的情況截然不同,因此似乎不太可能與您的問題相關。

‡ IETF 選擇支持 Ed448-Goldilocks 而不是 E-521,因為 Ed448-Goldilocks 性能更好,儘管 E-521 的理論攻擊成本高於 Ed448-Goldilocks,但兩者都具有毫無意義的高“安全級別” ’ 這只是作為對較小的密碼分析進步的對沖,而不是提高從一開始就不可能昂貴的攻擊的實際成本。

1、有網站/工具可以檢查你選擇的曲線,但強烈推薦你使用“成熟”的曲線比如secp256k1

2、加密協議與曲線選擇無關,如認證協議。

3、是的,只有當你偷偷選擇一些不安全的曲線時。

引用自:https://crypto.stackexchange.com/questions/59644