zntsbkhhh的个人空间 https://www.eechina.com/space-uid-161533.html [收藏] [复制] [RSS]

博客

ECDSA签名算法介绍

热度 9已有 821 次阅读2021-12-7 10:25 |个人分类:国产兼容芯片| 加密芯片, 加密算法


一、ECDSA概述

椭圆曲线数字签名算法(ECDSA)是使用椭圆曲线密码(ECC)对数字签名算法(DSA)的模拟。与普通的离散对数问题(DLP)和大数分解问题(IFP)不同,椭圆曲线离散对数问题没有亚指数时间的解决方法。因此椭圆曲线密码的单位比特强度要高于其他公钥体制。

数字签名算法(DSA)在联邦信息处理标准FIPS中有详细论述,称为数字签名标准。它的安全性基于素域上的离散对数问题。可以看作是椭圆曲线对先前离散对数问题(DLP)的密码系统的模拟,只是群元素由素域中的元素数换为有限域上的椭圆曲线上的点。椭圆曲线离散对数问题远难于离散对数问题,单位比特强度要远高于传统的离散对数系统。因此在使用较短的密钥的情况下,ECC可以达到于DL系统相同的安全级别。这带来的好处就是计算参数更小,密钥更短,运算速度更快,签名也更加短小。

二、ECDSA原理

ECDSA是ECC与DSA的结合,整个签名过程与DSA类似,所不一样的是签名中采取的算法为ECC,最后签名出来的值也是分为r,s。
 签名过程如下:
   1、选择一条椭圆曲线Ep(a,b),和基点G;
   2、选择私有密钥k(k<n,n为G的阶),利用基点G计算公开密钥K=kG;
   3、产生一个随机整数r(r<n),计算点R=rG;
   4、将原数据和点R的坐标值x,y作为参数,计算SHA1做为hash,即Hash=SHA1(原数据,x,y);
   5、计算s≡r - Hash * k (mod n)
   6、r和s做为签名值,如果r和s其中一个为0,重新从第3步开始执行
验证过程如下:
   1、接受方在收到消息(m)和签名值(r,s)后,进行以下运算
   2、计算:sG+H(m)P=(x1,y1), r1≡ x1 mod p。
   3、验证等式:r1 ≡ r mod p。
   4、如果等式成立,接受签名,否则签名无效。

 


路过

鸡蛋

鲜花

握手

雷人

发表评论 评论 (17 个评论)

回复 kessy1 2021-12-7 14:51
ECDSA和国密SM2的区别在哪里?
回复 小屁孩123 2021-12-7 17:16
使用椭圆曲线数字签名算法(ECDSA)影响运算速度吗?
回复 zntsbkhhh 2021-12-7 22:45
基于问题不同,RSA算法基于大数分解问题,可靠性由对极大整数做因数分解的难度决定。换言之,对一极大整数做因数分解愈困难,RSA算法愈可靠。其次密钥强度与安全性不同,最后导致效率不同。
回复 tyl2010 2021-12-8 08:51
ECDSA签名算法适用于什么领域?
回复 sunxiang0506 2021-12-8 14:12
ecdsa和rsa哪种效率更高更安全呢?
回复 miniminimini 2021-12-8 14:15
RSA目前应用最普遍,也是最为经典的一个数字签名加密算法,但是签名长,产生密钥很麻烦,素数产生技术受限制,难以做到一次一密;ECDSA 发展势头猛,处在上升阶段,ECDSA算法是ECC+DSA的结合体,相较于RSA数字签名算法,速度快,强度高,签名短,前景乐观
回复 Test_wf 2021-12-8 14:46
ECDSA都可以选用什么算法计算Hash?
回复 wang0327 2021-12-8 14:54
标准的ECDSA使用的是Hash算法SHA1,但这个可以进行替换, 如果可使用SHA3的算法进行数据摘要,这个摘要长度越大,运算量越多,理论上安全性也越高
回复 ?-о 2021-12-13 10:18
ECDSA是否运算速度更快?是否能适用于带宽及功耗受限的情况?
回复 kessy1 2021-12-13 10:32
刚开始学线代,之前看了些简单的科普,看了这篇文章终于稍微明白了些。
回复 tyl2010 2021-12-13 11:16
我也是看了这篇楼主的文章基本明白了ESDCA签名算法
回复 QL87 2021-12-13 13:55
是不是说椭圆曲线数字签名最安全
回复 小屁孩123 2021-12-14 08:59
求推荐支持这种ECC椭圆曲线加密算法的智能加密芯片
回复 tyl2010 2021-12-14 09:02
LKT家芯片不错,可以百度咨询下
回复 ?-о 2021-12-15 09:29
LKT4305-GM?是他家的吗
回复 miniminimini 2021-12-15 09:32
是啊安全性高 性价比也高,值得信赖呢
回复 QL87 2021-12-15 17:08
请问具体怎么用呢想做个小研究?比如终端可以用加密芯片实现ECDSA验签,那PC服务器端又怎么做ECDSA签名呢?

facelist

您需要登录后才可以评论 登录 | 立即注册

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
返回顶部