2002年,美國(guó)SUN公司將其開發(fā)的橢圓加密技術(shù)贈(zèng)送給開放源代碼工程
公鑰密碼體制根據(jù)其所依據(jù)的難題一般分為三類:
大整數(shù)分解問(wèn)題類、離散對(duì)數(shù)問(wèn)題類、橢圓曲線類。有時(shí)也把橢圓曲線類歸為離散對(duì)數(shù)類。
橢圓曲線密碼體制來(lái)源于對(duì)橢圓曲線的研究,所謂橢圓曲線指的是由韋爾斯特拉斯(Weierstrass)方程:
y2+a1xy+a3y=x3+a2x2+a4x+a6 (1)
所確定的平面曲線。其中系數(shù)ai(I=1,2,…,6)定義在某個(gè)域上,可以是有理數(shù)域、實(shí)數(shù)域、復(fù)數(shù)域,還可以是有限域GF(pr),橢圓曲線密碼體制中用到的橢圓曲線都是定義在有限域上的。
橢圓曲線上所有的點(diǎn)外加一個(gè)叫做無(wú)窮遠(yuǎn)點(diǎn)的特殊點(diǎn)構(gòu)成的集合連同一個(gè)定義的加法運(yùn)算構(gòu)成一個(gè)Abel群。在等式
mP=P+P+…+P=Q (2)
中,已知m和點(diǎn)P求點(diǎn)Q比較容易,反之已知點(diǎn)Q和點(diǎn)P求m卻是相當(dāng)困難的,這個(gè)問(wèn)題稱為橢圓曲線上點(diǎn)群的離散對(duì)數(shù)問(wèn)題。橢圓曲線密碼體制正是利用這個(gè)困難問(wèn)題設(shè)計(jì)而來(lái)。橢圓曲線應(yīng)用到密碼學(xué)上最早是由Neal Koblitz 和Victor Miller在1985年分別獨(dú)立提出的。
橢圓曲線密碼體制是目前已知的公鑰體制中,對(duì)每比特所提供加密強(qiáng)度最高的一種體制。解橢圓曲線上的離散對(duì)數(shù)問(wèn)題的最好算法是Pollard rho方法,其時(shí)間復(fù)雜度為,是完全指數(shù)階的。其中n為等式(2)中m的二進(jìn)制表示的位數(shù)。當(dāng)n=234, 約為2117,需要1.6x1023 MIPS 年的時(shí)間。而我們熟知的RSA所利用的是大整數(shù)分解的困難問(wèn)題,目前對(duì)于一般情況下的因數(shù)分解的最好算法的時(shí)間復(fù)雜度是子指數(shù)階的,當(dāng)n=2048時(shí),需要2x1020MIPS年的時(shí)間。也就是說(shuō)當(dāng)RSA的密鑰使用2048位時(shí),ECC的密鑰使用234位所獲得的安全強(qiáng)度還高出許多。它們之間的密鑰長(zhǎng)度卻相差達(dá)9倍,當(dāng)ECC的密鑰更大時(shí)它們之間差距將更大。更ECC密鑰短的優(yōu)點(diǎn)是非常明顯的,隨加密強(qiáng)度的提高,密鑰長(zhǎng)度變化不大。
德國(guó)、日本、法國(guó)、美國(guó)、加拿大等國(guó)的很多密碼學(xué)研究小組及一些公司實(shí)現(xiàn)了橢圓曲線密碼體制,我國(guó)也有一些密碼學(xué)者做了這方面的工作。許多標(biāo)準(zhǔn)化組織已經(jīng)或正在制定關(guān)于橢圓曲線的標(biāo)準(zhǔn),同時(shí)也有許多的廠商已經(jīng)或正在開發(fā)基于橢圓曲線的產(chǎn)品。對(duì)于橢圓曲線密碼的研究也是方興未艾,從ASIACRYPTO’98上專門開辟了ECC的欄目可見一斑。
在橢圓曲線密碼體制的標(biāo)準(zhǔn)化方面,IEEE、ANSI、ISO、IETF、ATM等都作了大量的工作,它們所開發(fā)的橢圓曲線標(biāo)準(zhǔn)的文檔有:IEEE P1363 P1363a、ANSI X9.62 X9.63、 ISO/IEC14888等。
2003年5月12日中國(guó)頒布的無(wú)線局域網(wǎng)國(guó)家標(biāo)準(zhǔn) GB15629.11 中,包含了全新的WAPI(WLAN Authentication and Privacy Infrastructure)安全機(jī)制,能為用戶的WLAN系統(tǒng)提供全面的安全保護(hù)。這種安全機(jī)制由 WAI和WPI兩部分組成,分別實(shí)現(xiàn)對(duì)用戶身份的鑒別和對(duì)傳輸?shù)臄?shù)據(jù)加密。WAI采用公開密鑰密碼體制,利用證書來(lái)對(duì)WLAN系統(tǒng)中的用戶和AP進(jìn)行認(rèn)證。證書里面包含有證書頒發(fā)者(ASU)的公鑰和簽名以及證書持有者的公鑰和簽名,這里的簽名采用的就是橢圓曲線ECC算法。
加拿大Certicom公司是國(guó)際上最著名的ECC密碼技術(shù)公司,已授權(quán)300多家企業(yè)使用ECC密碼技術(shù),包括Cisco 系統(tǒng)有限公司、摩托羅拉、Palm等企業(yè)。Microsoft將Certicom公司的VPN嵌入微軟視窗移動(dòng)2003系統(tǒng)中。
以下資料摘自:
http://www.hids.com.cn/data.asp公鑰密碼系統(tǒng)的加密算法ECC與RSA的對(duì)比
第六屆國(guó)際密碼學(xué)會(huì)議對(duì)應(yīng)用于公鑰密碼系統(tǒng)的加密算法推薦了兩種:基于大整數(shù)因子分解問(wèn)題(IFP)的RSA算法和基于橢圓曲線上離散對(duì)數(shù)計(jì)算問(wèn)題(ECDLP)的ECC算法。RSA算法的特點(diǎn)之一是數(shù)學(xué)原理簡(jiǎn)單、在工程應(yīng)用中比較易于實(shí)現(xiàn),但它的單位安全強(qiáng)度相對(duì)較低。目前用國(guó)際上公認(rèn)的對(duì)于RSA算法最有效的攻擊方法--一般數(shù)域篩(NFS)方法去破譯和攻擊RSA算法,它的破譯或求解難度是亞指數(shù)級(jí)的。ECC算法的數(shù)學(xué)理論非常深?yuàn)W和復(fù)雜,在工程應(yīng)用中比較難于實(shí)現(xiàn),但它的單位安全強(qiáng)度相對(duì)較高。用國(guó)際上公認(rèn)的對(duì)于ECC算法最有效的攻擊方法--Pollard rho方法去破譯和攻擊ECC算法,它的破譯或求解難度基本上是指數(shù)級(jí)的。正是由于RSA算法和ECC算法這一明顯不同,使得ECC算法的單位安全強(qiáng)度高于RSA算法,也就是說(shuō),要達(dá)到同樣的安全強(qiáng)度,ECC算法所需的密鑰長(zhǎng)度遠(yuǎn)比RSA算法低(見表1和圖1)。這就有效地解決了為了提高安全強(qiáng)度必須增加密鑰長(zhǎng)度所帶來(lái)的工程實(shí)現(xiàn)難度的問(wèn)題。(見表2)