橢圓曲線數字簽名算法
編輯橢圓曲線數字簽名算法 (ECDSA) 是數字簽名算法 (DSA) 的變體,它使用橢圓曲線密碼學。
與正常 DSA 程序的區別
編輯一般來說,橢圓曲線密碼學的經驗法則是,所使用的子群生成元的位長大約是安全級別? 的兩倍,應該配對配 安全級別為 t = 80 位 由于攻擊者必須計算出 2 80 基本操作才能找到私鑰,因此 DSA 密鑰的長度約為 1024 位,但 ECDSA 密鑰的長度僅為的 160 位。然而,簽名對于程序來說是相同的長度:4 t {\displaystyle 4t} 位,對于 80 位的安全級別也有 320 位。
密鑰生成
編輯xxx個參數描述了使用的曲線: q? 是定義曲線的字段順序; F R 是所用基的規范; a 和 b 是描述曲線滑動的兩個主體元素; 域參數種子 是一個可能隨機破壞的字符串,如果曲線被證明是隨機破壞的,它就會出現。
為了生成她的密鑰對,Alice 在區間? 中生成一個隨機整數。關鍵是 Q A = d A G? 。
評論一個簽名
編輯如果 Bob 驗證了 Alice 生成的簽名之一的真實性,他必須有她的公鑰副本 Q A 。如果他不確定 Q A? 已正確生成,他必須檢查它是否真的是一個鍵:
- 檢查是否 Q A ungleich 是 O? 并且坐標在其他方面有效
- 檢查 Q A 是否在曲線上
- 檢查是否 n Q A = O? 。這里判斷 Q A 是否是生成器 G 的倍數。曲線參數 余因子 h = 1 這一步可以省略。
然后鮑勃執行以下步驟:
- 檢查 r 和 s 是否為整數 和 在區間謊言。如果不是,則簽名無效。
- 計算 e = HASH ( m ) ,其中HASH與生成簽名時的函數相同。將L記為z n? e 的最高有效位。
在 Straus 的算法(也稱為 Shamir 的技巧)的幫助下,兩個標量乘法的和 ( u 1 G + u 2 Q A {\displaystyle u_{1}G+u_{2}Q_{A}} ) 可以計算得更快。
內容由匿名用戶提供,本內容不代表www.gelinmeiz.com立場,內容投訴舉報請聯系www.gelinmeiz.com客服。如若轉載,請注明出處:http://www.gelinmeiz.com/351372/