专栏中心

EEPW首页 > 专栏 > ECDSA签名算法介绍

ECDSA签名算法介绍

发布人:hanini 时间:2021-12-07 来源:工程师 发布文章


一、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、如果等式成立,接受签名,否则签名无效。

 


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

关键词: 加密算法 加密芯片

相关推荐

一种新能源租赁车防盗系统控制方案

加密芯片DM2016在数字电视加密中的应用

意法半导体推出后量子密码加密解决方案,为嵌入式系统带来量子攻击防御能力

STC89C51与AT89S51有什么区别?

基于状态机和流水线技术的3DES加密算法及其FPGA设计

物联网的密码资产保护

DES加密算法的VHDL和VERILOG源程序

利用汇编语言实现DES加密算法

应对单片机破解的几点建议

加密算法之MD5算法

MCU 破解技术分析

关于加密芯片的那些事儿

量子时代怎么保证数据安全?美国公布四项备选加密算法

加密芯片DM2016在数字电视加密中的应用

混沌加密技术技术详解和设计实现

更多 培训课堂
更多 焦点
更多 视频

技术专区