橢圓曲線加密技術(shù)在安全電子郵件中的應(yīng)用

安全電子郵件是在電子郵件的基礎(chǔ)上,運(yùn)用各種安全機(jī)制來保障郵件在Intemet傳送過程中的安全性。電子郵件的安全性從它出世以來已經(jīng)有了很大的進(jìn)步,但對于一些特殊的應(yīng)用,它的安全性仍有待提高。但在非對稱加密技術(shù)方面,仍然使用較老的RSA、DSA加密算法,而且隨著計(jì)算機(jī)運(yùn)算速度的大幅提高和系統(tǒng)集成化的發(fā)展,它的安全性已經(jīng)有了一定的威脅,因此有必要采用1種安全性更高的加密算法,這就是橢圓曲線加密算法(ECC)。

一、橢圓曲線加密算法的優(yōu)點(diǎn)

橢圓曲線加密算法與RSA、DSA算法相比,有以下優(yōu)點(diǎn):

(1)安傘性能更高。如160位ECC與1024位RSA、DSA有相同的安全強(qiáng)度,而210位ECC則與2048bit RSA、DSA具有相同的安全強(qiáng)度。

(2)計(jì)算量小、處理速度快。雖然在RSA中可以通過選取較小公鑰的方法提高公鑰處理速度,即提高加密和簽名驗(yàn)證的速度,使其在加密和簽名驗(yàn)證速度上與ECC有可比性,但在私鑰的處理速度上,ECC遠(yuǎn)比RSA、DSA快得多。因此ECC總的速度比RSA、DSA要快很多。

(3)存儲空間占用小。ECC的密鑰尺寸和系統(tǒng)參數(shù)與RSA、DSA相比要小得多,意味著它所占的存貯空間要小得多。

(4)帶寬要求低。當(dāng)對長消息進(jìn)行加密解密時,一類密碼系統(tǒng)有相同的帶寬要求,但應(yīng)用于短消息時ECC帶寬要求卻低得多,而公鑰加密系統(tǒng)多用于短消息。

二、橢圓曲線介紹

設(shè)K是1個域,K可以是有理數(shù)域、實(shí)數(shù)域、復(fù)數(shù)域或有限域GF(q)。橢踟曲線層由如下的Weierstrass(韋斯特拉斯)方程定義:

其中,a1,a2,a3,a4,a6_∈K,且△≠O,△是層的判別式。

對于橢圓曲線可以在不同特征值的域上進(jìn)行分析,通過坐標(biāo)變換可以簡化成下列3種情形:

(1)特征值K=2時,E:y2+y=x3+ax+b

(2)特征值K=3時,E:y2=x3+ax2+bx+c

(3)特征值K>3時,E:y2=X3+ax+b

其中,a,b,c∈K.判別式△=4d+27b2≠0。

對于橢圓曲線方程E:x3+ax+b。域K的特征值不等于2或3,群的運(yùn)算法則如下:

(1)單位元。對于所有的P∈E(K),P+∞=∞+P=P,稱∞為單位元(也叫幺元),且∞∈E(K)。

(2)負(fù)元素。若Q=(x,y)∈E(K),過Q點(diǎn)作1條垂直于互軸的直線,它與橢圓曲線的交點(diǎn)即為點(diǎn)Q的負(fù)(記為-Q),如圖1所示。

橢圓曲線加密技術(shù)在安全電子郵件中的應(yīng)用

顯然,-Q=(x,-y),且(x+y)+(x,-y)=∞。注意,-Q∈E(K),-∞=∞。

(3)點(diǎn)加。令P=(x1,y1)∈E(K),Q=(xby2)∈E(K),P≠±Q,畫1條連接點(diǎn)尸和Q的直線,它與橢圓曲線交于第3個點(diǎn),這個點(diǎn)關(guān)于石軸的對稱點(diǎn)就是P與Q的和,記為P+Q=(x3+y3)。如圖2所示。

橢圓曲線加密技術(shù)在安全電子郵件中的應(yīng)用

其中:

橢圓曲線加密技術(shù)在安全電子郵件中的應(yīng)用

(4)倍點(diǎn)。令P=(x1,y1)E∈E(K),P≠-P。則2P=(x3,y3)。

其中:

橢圓曲線加密技術(shù)在安全電子郵件中的應(yīng)用

三、系統(tǒng)實(shí)現(xiàn)

一般情況下,安全電子郵件的發(fā)送必須經(jīng)過郵件簽名和郵件加密2個過程,而對于接收到的安令電子郵件,則要經(jīng)過郵件解密和郵件驗(yàn)證2個過程,其工作模式如圖3所示:

橢圓曲線加密技術(shù)在安全電子郵件中的應(yīng)用

系統(tǒng)重要功能模塊包括:橢圓曲線生成模塊、簽名模塊、加密模塊、解密模塊和簽名驗(yàn)證模塊a系統(tǒng)充分利用r各種已經(jīng)實(shí)現(xiàn)的函數(shù)庫來加快系統(tǒng)的開發(fā),如MIRACL庫和Crypto++庫。其中MIRACL庫是多倍精度整數(shù)和有理數(shù)算法的cic++庫,支持對稱密碼和公鑰密碼。

系統(tǒng)中主要參數(shù)組D=(q,F(xiàn)R,S,a6,P,n,h)。定義如下:

g為域的階;FR是域的表示,即域Fq中元素的表示;S為種子:q 6eFq,是橢鬩曲線的系數(shù);P是橢嘲曲線的基點(diǎn),有素?cái)?shù)階;n是基點(diǎn)P的階;h=#E(FQ)/N稱為余因子。

1、在素?cái)?shù)域上隨機(jī)生成橢圓曲線

隨機(jī)生成橢圓曲線步驟如下:

輸入:素?cái)?shù)p>3,1比特的雜湊函數(shù)H。

輸出:種子S,a.b∈Fp定義橢圓曲線E:y2=x3+ax+b
橢圓曲線加密技術(shù)在安全電子郵件中的應(yīng)用

2、參數(shù)組生成

輸入:域的階為q,F(xiàn)q的域表示FR,安全級別二滿足160≤L≤[lbp]和2L≥4根號q。

輸出:參數(shù)組D=(q,F(xiàn)R,S,ab,P,n,h)。

橢圓曲線加密技術(shù)在安全電子郵件中的應(yīng)用

在步驟(2)中計(jì)算橢網(wǎng)曲線點(diǎn)個數(shù)時采用了SEA算法。SEA算法是已知最好的求解任意素?cái)?shù)域和OEF上橢圓曲線點(diǎn)計(jì)數(shù)的算法,對于實(shí)際密碼應(yīng)用中的q,該算法的運(yùn)行時間只需要幾秒鐘。因?yàn)樗梢钥焖俚卮_定點(diǎn)數(shù)模小素?cái)?shù)1的值,所以可用于早期中止策略,快速地將階能被小素?cái)?shù)整除的候選曲線淘汰。

3、 電子郵件加密解密

系統(tǒng)中采用了可證明安全曲線加密方案( PSEC),它由Fujisaki和Okamoto提出。

加密過程:

輸入:參數(shù)組D=(q,F(xiàn)R,S,ab,P,n,h)公鑰p,明文m。

輸出:密文(R,C,s,t)。

橢圓曲線加密技術(shù)在安全電子郵件中的應(yīng)用

解密過程:

輸入:參數(shù)組D=(q,F(xiàn)R,S,ab,P,n,h)。私鑰d。密文(R,C,s,t)

輸出:明文m或拒絕密文。

橢圓曲線加密技術(shù)在安全電子郵件中的應(yīng)用

 

四、 安全性分析

目前電子郵件加密技術(shù)有很多,如利用對稱加密算法加密、利用PKI/CA認(rèn)證加密和利用基于身份的密碼技術(shù)加密,以及采取1種或多種加密算法直接實(shí)現(xiàn),本文正是采用后者。該系統(tǒng)的安全性可從3方面來分析:

(1)加密算法本身的安全性

ECC、RSA和DSA的安全性分析如表1所示。

橢圓曲線加密技術(shù)在安全電子郵件中的應(yīng)用一般認(rèn)為破譯時間為1012 MIPS-年代表安全。為此,RAS和DSA要求模長為1024位,而ECC只需要160位就夠了,且當(dāng)密鑰長度增加時,ECC的安會性要比RSA/DSA增加快得多。如240位密鑰長的ECC比2048位模長的RSA/DSA安全,此時,RSA/DSA的模長是從1024位增加到2048位,而ECC只是從160位增加到240位。

由表1可以看出,在破譯所需時間相同情況下,ECC所需的密鑰長度要比RSA/DSA短得多,而且隨著破譯時間的增加,ECC的密鑰長度增長比例要小得多,優(yōu)勢更明顯。

(2)密鑰交換協(xié)議的作用

電子郵件傳輸是在1個開放的網(wǎng)絡(luò)環(huán)境中進(jìn)行,郵件的收發(fā)雙方可能是網(wǎng)絡(luò)中的任何1個結(jié)點(diǎn),它們之間任何的數(shù)據(jù)傳輸都有可能被攔截或竊聽。

密鑰作為加密解密的關(guān)鍵部分,更是需要保護(hù),因此,密鑰不是簡單地傳輸給對方,而是通過1個密鑰協(xié)商協(xié)議計(jì)算出來的,這樣就保證了密鑰的安全性。

(3)數(shù)字簽名的作用

數(shù)字簽名能驗(yàn)證出文件的原文在傳輸過程中有尤變動,能防止簽名人否認(rèn)自己的簽名行為,保證了傳輸電子文件的完整性、真實(shí)性和不可抵賴性。

橢圓曲線加密體制與其它加密體制相比,具有安全性能高、計(jì)算量小、處理速快、存儲空間占用小等突出優(yōu)點(diǎn)。本文將它應(yīng)用在電子郵件文件加密中,滿足了電子郵件傳輸?shù)陌踩枨蟆?/p>

但是,隨機(jī)生成橢圓曲線需要消耗一定的時間,所以本文的1個改進(jìn)之處是開發(fā)1個橢圓曲線庫,專門存放符合指定安全性要求的橢圓曲線,這樣就可以加快系統(tǒng)的運(yùn)行速度。

小知識之維爾斯特拉斯函數(shù)

維爾斯特拉斯函數(shù)(Weierstrass function)微積分的教程中提到過處處連續(xù)處處不可微的函數(shù),最典型的便是維爾斯特拉斯函數(shù)。直觀地看,除了孤立的點(diǎn)之外,似乎連續(xù)的函數(shù)都應(yīng)該可導(dǎo)。古典觀念認(rèn)為,連續(xù)函數(shù)的不可導(dǎo)的點(diǎn)集合在某種意義上應(yīng)當(dāng)很小,比如說,測度為0。早期的數(shù)學(xué)家包括高斯都認(rèn)為這是對的,一些書籍甚至把此看法當(dāng)作定理,寫了證明(現(xiàn)在看來,顯然是不嚴(yán)格的,比如說他們可能只考慮了初等函數(shù))。這可能是因?yàn)槿藗兒苌偕钊虢佑|過,而且也很難畫出或展現(xiàn)出那些變化極其復(fù)雜精細(xì),擁有大量不可導(dǎo)點(diǎn)的函數(shù)圖像。