热门问题
时间线
聊天
视角

EdDSA

来自维基百科,自由的百科全书

Remove ads

公鑰密碼學愛德華茲曲線數位簽章算法EdDSA)是一種數位簽章方式,使用一種基於扭曲的愛德華茲曲線的施諾爾簽名變種。[1] 其被設計為比現有的數位簽章方式更快同時不犧牲安全性。Daniel J. Bernstein、Niels Duif、Tanja Lange、Peter Schwabe 和 Bo-Yin Yang等人的團隊研發了這一算法[2],並將其參考實現發布為了公有領域軟體[3]

快速預覽 概述, 設計者 ...

概要

以下是 EdDSA 的簡化描述,忽略將整數和曲線點編碼為位串的細節。關於完整的細節,請參見論文和RFC。[4][2][1]

一種EdDSA 簽名方案是一種下列內容的組合:[4]:1–2[2]:5–6[1]:5–7

  • 奇素數冪上的有限域
  • 上的橢圓曲線,其關係點的階數為,其中是一個大素數且被稱為輔因子
  • 階數為的基點
  • 位輸出的密碼學散列函數,其中,使得的元素和中的曲線點可以被以位的字符串表示。

這些參數對於使用同一EdDSA簽名方案的所有用戶都是通用的。EdDSA簽名方案的安全性關鍵取決於參數的選擇,除了基點的任意選擇之外,例如,Pollard Rho算法預計需要大約次曲線相加才能計算離散對數,[5] 所以必須足夠大才能使其不可行,並且通常取值超過2200[6] 的選擇受限於的選擇,因為根據哈斯定理, 不能與相差超過。散列函數在EdDSA安全性的正式分析中通常被建模為隨機預言

在 EdDSA 簽名方案中,

公鑰
EdDSA公鑰是一個曲線點,編碼為位。
簽名驗證
公鑰對消息的EdDSA簽名是元組,編碼為位,由滿足下面的驗證方程的曲線點和整數組成。表示串接

私鑰
EdDSA私鑰是一個位字符串,其應該被均勻地隨機選擇。對應的公鑰為,其中為通過將的最低有效位解釋為小端字節序的整數得到。
簽名
消息的簽名被確定地計算為,其中,且這滿足驗證方程:

Remove ads

Ed25519

Ed25519是使用SHA-512(SHA-2)和Curve25519的EdDSA簽名方式[2],其中:

  • 扭曲的愛德華茲曲線

  • ,且
  • 中獨特的一點,其坐標為,且坐標為正數
    「正數」根據位編碼定義:
    • 「正」坐標是偶數坐標(最低有效位被清除)
    • 「負數」坐標是奇數坐標(最低有效位被設置)
  • SHA-512,其

曲線與被稱為Curve25519蒙哥馬利曲線雙有理等價。等價的是:[2][7]

Remove ads

性能

原作團隊將Ed25519針對x86-64 NehalemWestmere處理器家族進行了優化x86-64。可以批量執行64個簽名的驗證,以獲得更大的吞吐量。Ed25519 旨在提供與128位對稱密碼質量相當的抗攻擊能力。[8]

公鑰的長度為256位,簽名的長度為512位。[9]

安全編碼

Ed25519旨在避免使用依賴於秘密數據的分支條件或數組索引的實現,[2]:2[1]:40以緩解側信道攻擊

與其他基於離散對數的簽名方案一樣,EdDSA 為每個簽名使用一個唯一的、被稱為「nonce」的秘密值。在DSAECDSA簽名方案中,傳統上,這個隨機數是為每個簽名隨機生成的,如果隨機數生成器在簽名時被破壞並且是可預測的,則簽名可能會洩漏私鑰,就像Sony PlayStation 3固件更新簽名密鑰所發生的那樣。[10][11][12][13]

相比之下,EdDSA 確定性地選擇 nonce 作為私鑰和消息的哈希值的一部分。因此,一旦生成私鑰,EdDSA 就不再需要隨機數生成器來進行簽名,並且不存在用於生成簽名的受損隨機數生成器洩露私鑰的風險。[2]:8

標準化與實施不一致

值得注意的是,EdDSA 有兩項標準化工作,一項來自IETF,即信息性RFC 8032,另一項來自NIST,作為FIPS 186-5的一部分。[14]兩個標準之間的差異已經被分析了,[15][16]並且有測試向量。[17]

軟體

Ed25519 的顯著用途包括OpenSSH[18]GnuPG[19]及各種替代方案和OpenBSD的signify工具[20]。SSH協議中的Ed25519和Ed448使用已經得到標準化。[21]在2023年,FIPS 186-5 標準的最終版確定將Ed25519包含為一種批准的簽名方案。[14]

Remove ads

Ed448

Ed448是使用SHAKE256Curve448的EdDSA簽名方式,定義於RFC 8032。其也已被FIPS 186-5標準的最終版本批准。[14]

參考文獻

外部連結

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads