加密算法
在橢圓曲線加密(ECC)中,利用了某種特殊形式的橢圓曲線,即定義在有限域上的橢圓曲線。其方程如下:
y²=x³+ax+b(mod p)
這裡p是素數,a和b為兩個小於p的非負整數,它們滿足:
4a³+27b²(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則比較困難,至今沒有有效的方法來解決這個問題,這就是橢圓曲線加密算法原理之所在。
比較
橢圓曲線算法與RSA算法的比較
橢圓曲線公鑰系統是代替RSA的強有力的競爭者。橢圓曲線加密方法與RSA方法相比,有以下的優點:
(1)安全性能更高 如160位ECC與1024位RSA、DSA有相同的安全強度。
(2)計算量小,處理速度快 在私鑰的處理速度上(解密和簽名),ECC遠 比RSA、DSA快得多。
(3)存儲空間占用小 ECC的密鑰尺寸和系統參數與RSA、DSA相比要小得多, 所以占用的存儲空間小得多。
(4)頻寬要求低使得ECC具有廣泛的套用前景。
ECC的這些特點使它必將取代RSA,成為通用的公鑰加密算法。比如SET協定的制定者已把它作為下一代SET協定中預設的公鑰密碼算法。