ECC加密算法在數(shù)字簽名中的應(yīng)用

ECC加密算法具有高安全性、低消耗、運(yùn)算速度快的特點(diǎn),在數(shù)字簽名領(lǐng)域有良好的應(yīng)用前景,那么我們今天就來(lái)探討一下ECC加密算法在數(shù)字簽名中的應(yīng)用。

ECC加密算法在數(shù)字簽名中的應(yīng)用

一、ECC加密算法在數(shù)字簽名中的應(yīng)用

由于ECC加密算法是建立在公鑰加密體系基礎(chǔ)上的,所以它不但可以應(yīng)用于通信加密,而且還可以應(yīng)用于數(shù)字簽名領(lǐng)域。設(shè)橢圓曲線(xiàn)公鑰密碼系統(tǒng)參數(shù)為(Fq,E,a,b,r,G),其中,F(xiàn)q是有限域,E是Fq上的橢圓曲線(xiàn),a,b是橢圓曲線(xiàn)E的系數(shù),r是一個(gè)大的素?cái)?shù),G是橢圓曲線(xiàn)E上秩為r的點(diǎn)。

1、密鑰的產(chǎn)生

用戶(hù)A隨機(jī)選擇一個(gè)[1,r一1]之間的整數(shù)作為私鑰s,計(jì)算點(diǎn)V=sG,其中(G,V)是公鑰。并令V=(X。,Y。)。

2、簽字過(guò)程

(1)利用IEEE _1363中的FE2IP程序?qū)化成一整數(shù)i;

(2)計(jì)算c=imodr;(若c=0,則重新選取私鑰s)

(3)m為消息,計(jì)算d=u-1(m+sc)modr;(若d=0,則重新選取私鑰s)

(4)m的數(shù)字簽名為(c,d).

3、檢驗(yàn)過(guò)程

(1)若c不在[1,r-1]內(nèi)或 不在[1,r-1]內(nèi),則簽名為假簽名;

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

(3)計(jì)算橢圓曲線(xiàn)E(Fq)上的曲線(xiàn)點(diǎn)P=h1G+h2W。若P=0,則簽名為假簽名,否則令P=(Xp,Yp);

(4)利用FE2IP程序?qū)p,化成一整數(shù)i';并計(jì)算c'=i'modr;

(5)如果c=c',則簽名為真,否則。簽名為假。

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

目前主流的數(shù)字簽名方案是基于大整數(shù)因子分解問(wèn)題的RSA加密算法,其特點(diǎn)是數(shù)學(xué)原理簡(jiǎn)單。在應(yīng)用過(guò)程中容易實(shí)現(xiàn),但其單位安全強(qiáng)度相對(duì)較低,目前用國(guó)際上公認(rèn)的對(duì)于RSA加密算法最有效的攻擊方法一般數(shù)域篩(NFS)方法去破譯和攻擊RSA加密算法,它的破譯或求解難度是亞指數(shù)級(jí)的,其復(fù)雜度T(n)=o(exp{(1.92+0(1))(1nn) I(n)(1nn)z/3))。而對(duì)于ECC加密算法,目前最有效的攻擊方法其破譯和求解的難度是指數(shù)級(jí)的,其復(fù)雜度T(n)=0(explnn/P(max),其中P~是ECC交換群的階的最大素因子,也就是在相同的密鑰長(zhǎng)度條件下,ECC加密算法的安全性要遠(yuǎn)遠(yuǎn)超過(guò)RSA加密算法。

ECC加密算法的計(jì)算量小并且處理速度快。在一定的相同的計(jì)算資源條件下,雖然在RSA中可以通過(guò)選取較小的公鑰(可以小到3)的方法提高公鑰處理速度,即提高加密和簽名驗(yàn)證的速度,使其在加密和簽名驗(yàn)證速度上與ECC有可比性,但在私鑰的處理速度上(解密和簽名),ECC遠(yuǎn)比RSA、DSA快得多。同時(shí)ECC系統(tǒng)的密鑰生成速度比RSA快百倍以上,以163位的ECC加密算法與1024位的RSA加密算法比較,ECC加密算法的簽名時(shí)間為3.0ms,密鑰對(duì)生成時(shí)間為3.8ms,但RSA加密算法卻分別高達(dá)228.4ms和4708.3ms,因此在相同條件下,CC加密算法則有更高的加密性能。

ECC加密算法的存儲(chǔ)空間占用?。篍CC加密算法的密鑰尺寸和系統(tǒng)參數(shù)與RSA相比要小得多,160位ECC加密算法與1024位RSA具有相同的安全強(qiáng)度,210位ECC加密算法則與2048位RSA具有相同的安全強(qiáng)度,意味著它所占的存貯空間要小得多。

ECC加密算法在數(shù)字簽名中的應(yīng)用

ECC加密算法的帶寬要求低,當(dāng)對(duì)長(zhǎng)消息進(jìn)行加解密時(shí),兩類(lèi)密碼系統(tǒng)有相同的帶寬要求,但應(yīng)用于短消息時(shí)ECC加密算法帶寬要求卻低得多,而數(shù)字簽名正是基于短消息的通訊傳輸,因此基于ECC加密算法的數(shù)字簽名系統(tǒng)帶寬要求比RSA低很多,易于在各種網(wǎng)絡(luò)環(huán)境下推廣應(yīng)用。此外,ECC加密算法的靈活性要高于RSA算法,它可以通過(guò)改變參數(shù)設(shè)置獲得不同的曲線(xiàn),具有豐富的群結(jié)構(gòu)和多選擇性。

隨著網(wǎng)絡(luò)應(yīng)用的迅速發(fā)展,網(wǎng)絡(luò)安全問(wèn)題日益受到人們的重視,而傳統(tǒng)的基于RSA加密算法的數(shù)字簽名體制在計(jì)算機(jī)技術(shù)快速發(fā)展的情況下,其安全性已經(jīng)受到了嚴(yán)重的威脅。ECC加密算法由于其安全、高效的特點(diǎn)日益受到人們的重視,在數(shù)字簽名等安全領(lǐng)域已經(jīng)有一定程度的應(yīng)用,可以預(yù)見(jiàn)隨著網(wǎng)絡(luò)技術(shù)的進(jìn)一步發(fā)展,ECC加密算法的應(yīng)用前景將會(huì)更加廣闊。

小知識(shí)之ECC加密算法:

ECC(Elliptic Curves Cryptography)加密算法是一種公鑰加密算法,與主流的RSA算法相比,ECC算法可以使用較短的密鑰達(dá)到相同的安全程度。