ECDSA通过matlab,数字签名算法RSA与ECDSA的比较与分析

科研探索 知识创新 与 96 —— 科协论坛 · 2010 年第 2 期(下) —— 数字签名算法 RSA 与 ECDSA 的比较与分析 □ 张 岩 张爱丽 (西南交通大学信息科学与技术学院 四川·成都 610031) 摘 要:签名算法是数字签名的核心,本文介绍了主流算法 RSA、ECDSA 签名体制的原理,通过比较和分析两种算法的优缺点,得出 ECDSA 算法具有密钥尺寸小,加解密速度快、处理速度快、消耗存储空间小等优点。 关键词:椭圆曲线 数字签名 RSA 中图分类号:TH11 文献标识码:A 文章编号:1007-3973(2010)02-096-02 1 概述 数字签名技术是信息安全机制中的一种重要技术。已经广泛应用于电子商务和通信系统中,包括身份认证,数据完整性,不可否认性等方面,甚至在日常的电子邮件中也有应用。数字签名提出的目的就是在网络环境下模拟日常的手工签名或印章,它可以抵御冒充、篡改、伪造、抵赖问题。数字签名的安全特性是:不可否认性,不可伪造性。 数字签名算法一般采用非对称密钥密码体制来实现。常见的数字签名算法有:RSA,其安全性是基于求解离散对数的困难性;DSA,其安全性是基于对有限域的离散对数问题的不可实现性;ECDSA(椭圆曲线数字签名算法,Elliptic Curve Digital Signature Algorithm),其安全性给予椭圆曲线离散对数问题的不可实现性)等 。 在本文中首先介绍RSA和椭圆曲线域数字签名算法EC-DSA签名与验证过程,然后比较两种算法在抗攻击性能,密钥 大小,系统消耗,求解难度等方面的不同。 2 基于 RSA 数字签名算法 RSA 用到了初等数论中的一个重要定理-欧拉定理,其安全性依赖于数的因数分解的困难性。RSA 的签名产生和签名 认证过程如下 : (1)随机选择两个素数 p 和 q,满足|p|≈|q|; (2)计算 n=pq,(n)=(p-1)(q-l) ; (3)随机选择整数 e< (n),满足 gcd(e,(n))=1;计算整数d,满足 E*d≡1mod (n) ; (4)p,q 和 (n)保密,公钥为(n,e),私钥为 d; (5)对消息 M 进行数字摘要运算,得到摘要 S; (6)对摘要值 S 生成签名:V=Sd mod n; (7)接收方验证签名:计算 s=Ve mod n,并对消息 M 用同一数字摘要算法进行摘要运算,得到摘要值 S。若 S=s 则通过 签名认证。 3 椭圆曲线数字签名算法(ECDSA) 设椭圆曲线公钥密码系统参数为( ),其中是有限域,E 是 Fq 上的椭圆曲线,G 是 E 上的一个有理点,称为基点,G的阶为q(q为素数),a,b是椭圆曲线E的系数,h是 一个单向安全的哈希函数。 已知:待签名消息M,域参数D=(q,f(x),a,b,G,n,h)及密钥 对(x,y)ECDSA 签名的产生 : 3.1 签名算法 (1)选取一个随机或伪随机数 ; (2)计算 ,且如果 r=0,则 返回第一步; (3)计算 ,若 s=0 则返回第一步; (4)对消息 m 的签名为(r,s); 3.2 验证算法 (1)计算 ; (2)计算 ; (3)计算 ,如果v=r则 签名正确,否则验证失败。 4 算法比较与分析 数字签名主要是利用公钥密码学构造的,RSA和ECC它们是基于不同的数学难题基础上的,而且不同的密码算法以及签名体制有不同的算法复杂度。RSA 的破译和求解难度是亚指数级 的,国家公认的对于RSA最有效都是攻击方法是用一般数筛选方法去破译和攻击RSA;而ECDSA的破译

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值