簡析橢圓曲線ECC加密算法
釋出于:2012-11-22 14:50 文章來源:中國資訊安全組織 我要評論 [ 導讀] 同RSA加密算法一樣,ECC(Elliptic Curves Cryptography,橢圓曲線密碼編碼學)也屬于公開密鑰算法。如果您了解RSA加密算法,對公開密鑰算法也有一定了解的話。那麼您今天要掌握橢圓曲線ECC加密算法就比較的容易了。
橢圓曲線ECC加密算法可以用于給檔案加密,簽名等,也可以給使用者生成軟體序列号,微軟的軟體序列号就是用的橢圓曲線ECC加密算法。同RSA加密算法一樣,ECC也屬于公開密鑰算法。如果您了解RSA加密算法,對公開密鑰算法也有一定了解的話。那麼您今天要掌握橢圓曲線ECC加密算法就比較的容易了。
橢圓曲線ECC加密算法
橢圓曲線指的是由韋爾斯特拉斯(Weierstrass)方程 y2+a1xy+a3y=x3+a2x2+a4x+a6 所确定的平面曲線。若F是一個域,ai ∈F,i=1,2,…,6。滿足式1的數偶(x,y)稱為F域上的橢圓曲線E的點。F域可以式有理數域,還可以式有限域GF(Pr)。橢圓曲線通常用E表示。除了曲線E的所有點外,尚需加上一個叫做無窮遠點的特殊O。
在橢圓曲線加密(ECC)中,利用了某種特殊形式的橢圓曲線,即定義在有限域上的橢圓曲線。其方程如下:
y2=x3+ax+b(mod p)
這裡p是素數,a和b為兩個小于p的非負整數,它們滿足:
4a3+27b2(mod p)≠0 其中,x,y,a,b ∈Fp,則滿足式(2)的點(x,y)和一個無窮點O就組成了橢圓曲線E。
橢圓曲線離散對數問題ECDLP定義如下:給定素數p和橢圓曲線E,對 Q=kP,在已知P,Q的情況下求出小于p的正整數k。可以證明,已知k和P計算Q比較容易,而由Q和P計算k則比較困難,至今沒有有效的方法來解決這個問題,這就是橢圓曲線ECC加密算法原理之所在。
橢圓曲線ECC加密算法與RSA加密算法的比較
橢圓曲線公鑰系統是代替RSA的強有力的競争者。橢圓曲線加密方法與RSA方法相比,有以下的優點:
(1)安全性能更高 如160位ECC與1024位RSA、DSA有相同的安全強度。
(2)計算量小,處理速度快 在私鑰的處理速度上(解密和簽名),ECC遠 比RSA、DSA快得多。
(3)存儲空間占用小 ECC的密鑰尺寸和系統參數與RSA、DSA相比要小得多, 是以占用的存儲空間小得多。
(4)帶寬要求低使得ECC具有廣泛得應用前景。
ECC加密算法的這些特點使它必将取代RSA加密算法,成為通用的公鑰加密算法。比如SET協定的制定者已把它作為下一代SET協定中預設的公鑰密碼算法。
小知識之公鑰加密:
公鑰加密又叫雙鑰加密或非對稱加密最早在1976年被提出,但是真正能加密的算法RSA算法實在1978年才被提出。