簡析橢圓曲線ECC加密算法

橢圓曲線ECC加密算法可以用于給文件加密,簽名等,也可以給用戶生成軟件序列號,微軟的軟件序列號就是用的橢圓曲線ECC加密算法。同RSA加密算法一樣,ECC也屬于公開密鑰算法。如果您了解RSA加密算法,對公開密鑰算法也有一定了解的話。那么您今天要掌握橢圓曲線ECC加密算法就比較的容易了。

橢圓曲線ECC加密算法

橢圓曲線指的是由韋爾斯特拉斯(Weierstrass)方程 y2+a1xy+a3y=x3+a2x2+a4x+a6 所確定的平面曲線。若F是一個域,ai ∈F,i=1,2,…,6。滿足式1的數(shù)偶(x,y)稱為F域上的橢圓曲線E的點。F域可以式有理數(shù)域,還可以式有限域GF(Pr)。橢圓曲線通常用E表示。除了曲線E的所有點外,尚需加上一個叫做無窮遠點的特殊O。

在橢圓曲線加密(ECC)中,利用了某種特殊形式的橢圓曲線,即定義在有限域上的橢圓曲線。其方程如下:

y2=x3+ax+b(mod p)

這里p是素數(shù),a和b為兩個小于p的非負整數(shù),它們滿足:

4a3+27b2(mod p)≠0 其中,x,y,a,b ∈Fp,則滿足式(2)的點(x,y)和一個無窮點O就組成了橢圓曲線E。

橢圓曲線離散對數(shù)問題ECDLP定義如下:給定素數(shù)p和橢圓曲線E,對 Q=kP,在已知P,Q的情況下求出小于p的正整數(shù)k??梢宰C明,已知k和P計算Q比較容易,而由Q和P計算k則比較困難,至今沒有有效的方法來解決這個問題,這就是橢圓曲線ECC加密算法原理之所在。

橢圓曲線ECC加密算法與RSA加密算法的比較

橢圓曲線公鑰系統(tǒng)是代替RSA的強有力的競爭者。橢圓曲線加密方法與RSA方法相比,有以下的優(yōu)點:

(1)安全性能更高 如160位ECC與1024位RSA、DSA有相同的安全強度。
(2)計算量小,處理速度快 在私鑰的處理速度上(解密和簽名),ECC遠 比RSA、DSA快得多。
(3)存儲空間占用小 ECC的密鑰尺寸和系統(tǒng)參數(shù)與RSA、DSA相比要小得多, 所以占用的存儲空間小得多。
(4)帶寬要求低使得ECC具有廣泛得應(yīng)用前景。

ECC加密算法的這些特點使它必將取代RSA加密算法,成為通用的公鑰加密算法。比如SET協(xié)議的制定者已把它作為下一代SET協(xié)議中缺省的公鑰密碼算法。

小知識之公鑰加密:

公鑰加密又叫雙鑰加密或非對稱加密最早在1976年被提出,但是真正能加密的算法RSA算法實在1978年才被提出。