ECC加密算法具有高安全性、低消耗、运算速度快的特点,在数字签名领域有良好的应用前景,那么我们今天就来探讨一下ECC加密算法在数字签名中的应用。

ECC加密算法在数字签名中的应用

一、ECC加密算法在数字签名中的应用

由于ECC加密算法是建立在公钥加密体系基础上的,所以它不但可以应用于通信加密,而且还可以应用于数字签名领域。设椭圆曲线公钥密码系统参数为(Fq,E,a,b,r,G),其中,Fq是有限域,E是Fq上的椭圆曲线,a,b是椭圆曲线E的系数,r是一个大的素数,G是椭圆曲线E上秩为r的点。

1、密钥的产生

用户A随机选择一个[1,r一1]之间的整数作为私钥s,计算点V=sG,其中(G,V)是公钥。并令V=(X。,Y。)。

2、签字过程

(1)利用IEEE _1363中的FE2IP程序将Z化成一整数i;

(2)计算c=imodr;(若c=0,则重新选取私钥s)

(3)m为消息,计算d=u-1(m+sc)modr;(若d=0,则重新选取私钥s)

(4)m的数字签名为(c,d).

3、检验过程

(1)若c不在[1,r-1]内或 不在[1,r-1]内,则签名为假签名;

(2)计算h=d-1modr,h1=mhmodr,h2=chmodr;

(3)计算椭圆曲线E(Fq)上的曲线点P=h1G+h2W。若P=0,则签名为假签名,否则令P=(Xp,Yp);

(4)利用FE2IP程序将Xp,化成一整数i';并计算c'=i'modr;

(5)如果c=c',则签名为真,否则。签名为假。

二、ECC加密算法安全性能分析 

目前主流的数字签名方案是基于大整数因子分解问题的RSA加密算法,其特点是数学原理简单。在应用过程中容易实现,但其单位安全强度相对较低,目前用国际上公认的对于RSA加密算法最有效的攻击方法一般数域筛(NFS)方法去破译和攻击RSA加密算法,它的破译或求解难度是亚指数级的,其复杂度T(n)=o(exp{(1.92+0(1))(1nn) I(n)(1nn)z/3))。而对于ECC加密算法,目前最有效的攻击方法其破译和求解的难度是指数级的,其复杂度T(n)=0(explnn/P(max),其中P~是ECC交换群的阶的最大素因子,也就是在相同的密钥长度条件下,ECC加密算法的安全性要远远超过RSA加密算法。

ECC加密算法的计算量小并且处理速度快。在一定的相同的计算资源条件下,虽然在RSA中可以通过选取较小的公钥(可以小到3)的方法提高公钥处理速度,即提高加密和签名验证的速度,使其在加密和签名验证速度上与ECC有可比性,但在私钥的处理速度上(解密和签名),ECC远比RSA、DSA快得多。同时ECC系统的密钥生成速度比RSA快百倍以上,以163位的ECC加密算法与1024位的RSA加密算法比较,ECC加密算法的签名时间为3.0ms,密钥对生成时间为3.8ms,但RSA加密算法却分别高达228.4ms和4708.3ms,因此在相同条件下,CC加密算法则有更高的加密性能。

ECC加密算法的存储空间占用小:ECC加密算法的密钥尺寸和系统参数与RSA相比要小得多,160位ECC加密算法与1024位RSA具有相同的安全强度,210位ECC加密算法则与2048位RSA具有相同的安全强度,意味着它所占的存贮空间要小得多。

ECC加密算法在数字签名中的应用

ECC加密算法的带宽要求低,当对长消息进行加解密时,两类密码系统有相同的带宽要求,但应用于短消息时ECC加密算法带宽要求却低得多,而数字签名正是基于短消息的通讯传输,因此基于ECC加密算法的数字签名系统带宽要求比RSA低很多,易于在各种网络环境下推广应用。此外,ECC加密算法的灵活性要高于RSA算法,它可以通过改变参数设置获得不同的曲线,具有丰富的群结构和多选择性。

随着网络应用的迅速发展,网络安全问题日益受到人们的重视,而传统的基于RSA加密算法的数字签名体制在计算机技术快速发展的情况下,其安全性已经受到了严重的威胁。ECC加密算法由于其安全、高效的特点日益受到人们的重视,在数字签名等安全领域已经有一定程度的应用,可以预见随着网络技术的进一步发展,ECC加密算法的应用前景将会更加广阔。

小知识之ECC加密算法:

ECC(Elliptic Curves Cryptography)加密算法是一种公钥加密算法,与主流的RSA算法相比,ECC算法可以使用较短的密钥达到相同的安全程度。