Ed25519

橢圓曲線 ed25519 與 ed448 - 差異

  • April 22, 2020

除了密鑰大小,橢圓曲線 ed25519 和 ed448 之間有什麼區別?

Edwards25519是扭曲的 Edwards 曲線$$ -x^2 + y^2 = 1 - (121665/121666) x^2 y^2 $$在素數場上 $ \mathbb F_p $ 在哪裡 $ p = 2^{255} - 19 $ . 係數 $ d = -121665/121666 $ 被選擇為使該曲線在雙理性上等效於蒙哥馬利曲線 $ y^2 = x^3 + 486662 x^2 + x $ ,稱為 Curve25519,其係數 486662 被選為滿足安全標準的絕對值的最小整數$$ 1 $$. 該組 $ \mathbb F_p $ -有理點有復合順序 $ 8 p_1 $ 對於 253 位素數 $ p_1 $ , 其撚度有合序 $ 4 p_2 $ 對於 253 位素數 $ p_2 $ . Edwards25519 旨在使離散對數計算成本的成本至少約為 $ 2^{128} $ 位操作來破壞任意數量的目標中的第一個。

Edwards448,也稱為Ed448-Goldilocks,是扭曲的 Edwards 曲線$$ -x^2 + y^2 = 1 - 39081 x^2 y^2 $$在素數場上 $ \mathbb F_p $ 在哪裡 $ p = 2^{448} - 2^{224} - 1 $ . 係數 $ d = -39081 $ 被選為滿足與 edwards25519 相同的安全標準的絕對值的最小整數,以及附加約束,即組的順序 $ \mathbb F_p $ - 有理點有以下順序 $ p $ ,即 $ 4 p_1 $ 對於 446 位素數 $ p_1 $ . 還有一條雙有理等價的蒙哥馬利曲線 $ y^2 = x^3 + 156326 x^2 + x $ 源自 edwards448,稱為 Curve448。 Edwards448 旨在使離散對數計算的成本約為 $ 2^{224} $ 位操作來破壞任意數量的目標中的第一個。 當然,既然 $ 2^{128} $ 位操作已經不可行,edwards448 確實是對適度的密碼分析進步的對沖。

Ed25519 具體是 EdDSA 簽名方案的一個實例$$ 2 $$$$ 3 $$以 edwards25519 為曲線,SHA-512 為雜湊函式,可選的上下文標識符用於兼容性;同樣,Ed448 是 EdDSA 的一個實例,其中 edwards448 作為曲線,SHAKE256 作為雜湊函式,強制域標識符*等。*有關EdDSA 實例化的詳細資訊, 請參見RFC 8032 ,曲線定義請參見RFC 7748

唯一主要的實質性區別在於安全級別和性能:

  • 安全級別: Edwards25519 的目標是“128 位安全級別”,而 edwards448 的目標是“224 位“Spinal Tap-grade”安全級別”——除非有適度的密碼分析進步,否則在現實世界中實際上並沒有有意義的差異在計算橢圓曲線離散對數。

  • 密鑰大小: Edwards448 點和標量是 edwards25519 點和標量大小的 1.75 倍。

  • 定基標量乘法: Edwards448 的成本約為 edwards25519 的 1.5 倍。

  • 可變基標量乘法: Edwards448 的成本大約是 edwards25519 成本的 5 倍。

Edwards25519 有 $ p \equiv 1 \pmod 4 $ 而 edwards448 有 $ p \equiv 3 \pmod 4 $ ,因此除了 DH 和簽名之外的協議存在一些差異,但不是真正實質性的:對於與統一隨機字元串無法區分的編碼點,edwards25519 僅支持 Elligator 2,而 edwards448 支持 Elligator 1 和 Elligator 2$$ 4 $$,但我不知道 Elligator 1 有什麼優勢;兩者都支持避免輔因子陷阱的素數組編碼$$ 5 $$,有幾個不同的軟體實現,Ristrettolibdecaf。兩條曲線都是為傳統的離散日誌應用程序設計的,並且通過了SafeCurves 標準;兩條曲線都不適合配對。

簡而言之,兩條曲線的設計具有基本相同的定性安全標準,僅在定量安全級別和性能上有所不同。

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