找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1244|回復: 0
打印 上一主題 下一主題
收起左側

ECDSA簽名算法介紹

 關閉 [復制鏈接]
跳轉到指定樓層
樓主
ID:349277 發(fā)表于 2021-12-6 09:15 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
一、ECDSA概述
橢圓曲線數(shù)字簽名算法(ECDSA)是使用橢圓曲線密碼(ECC)對數(shù)字簽名算法(DSA)的模擬。與普通的離散對數(shù)問題(DLP)和大數(shù)分解問題(IFP)不同,橢圓曲線離散對數(shù)問題沒有亞指數(shù)時間的解決方法。因此橢圓曲線密碼的單位比特強度要高于其他公鑰體制。
數(shù)字簽名算法(DSA)在聯(lián)邦信息處理標準FIPS中有詳細論述,稱為數(shù)字簽名標準。它的安全性基于素域上的離散對數(shù)問題。可以看作是橢圓曲線對先前離散對數(shù)問題(DLP)的密碼系統(tǒng)的模擬,只是群元素由素域中的元素數(shù)換為有限域上的橢圓曲線上的點。橢圓曲線離散對數(shù)問題遠難于離散對數(shù)問題,單位比特強度要遠高于傳統(tǒng)的離散對數(shù)系統(tǒng)。因此在使用較短的密鑰的情況下,ECC可以達到于DL系統(tǒng)相同的安全級別。這帶來的好處就是計算參數(shù)更小,密鑰更短,運算速度更快,簽名也更加短小。
二、ECDSA原理
ECDSA是ECC與DSA的結合,整個簽名過程與DSA類似,所不一樣的是簽名中采取的算法為ECC,最后簽名出來的值也是分為r,s。
簽名過程如下:
   1、選擇一條橢圓曲線Ep(a,b),和基點G;
   2、選擇私有密鑰k(k<n,n為G的階),利用基點G計算公開密鑰K=kG;
   3、產生一個隨機整數(shù)r(r<n),計算點R=rG;
   4、將原數(shù)據(jù)和點R的坐標值x,y作為參數(shù),計算SHA1做為hash,即Hash=SHA1(原數(shù)據(jù),x,y);
   5、計算s≡r - Hash * k (mod n);
   6、r和s做為簽名值,如果r和s其中一個為0,重新從第3步開始執(zhí)行。
驗證過程如下:
   1、接受方在收到消息(m)和簽名值(r,s)后,進行以下運算;
   2、計算:sG+H(m)P=(x1,y1), r1≡ x1 mod p;
   3、驗證等式:r1 ≡ r mod p;
   4、如果等式成立,接受簽名,否則簽名無效。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表