王方鑫
摘 要:雖然RSA公鑰加密體制在世界上目前得到了廣泛的應用,但是由于計算能力得到大幅度的提高,因此RSA的秘鑰長度越來越長,導致RSA效率不足。橢圓曲線加密體制(ECC)的提出解決了這個問題,橢圓曲線可以以更短的密鑰長度同時保證更高的安全性。本文主要介紹橢圓曲線加密體制的基本原理以及對其安全性進行分析。
關鍵詞:橢圓曲線加密體制;公鑰體制;安全性
橢圓曲線是代數幾何、數論等多個學科分支的一個交點。近些年,隨著公鑰密碼學的飛速發展,橢圓曲線也找到自己的應用領域。20世紀80年代中期,Neal Koblitz和Victor Miller將橢圓曲線和密碼學完美結合,提出了橢圓密碼體制,人們通過對橢圓密碼體制的進一步研究,發現了其巨大的優越性,從而使其成為密碼學研究的一個熱點。
1 橢圓曲線算法簡介
橢圓曲線的英文全稱"Ellipse Curve Cryptography",簡單的來說,橢圓曲線并不算橢圓,之所以稱為橢圓曲線是因為它們用三次方程表示,該方程和計算橢圓的周長相似。對密碼學比較有意義的橢圓曲線方程是基于素數域GF(p)和基于二進制域(GF(2^m))上的橢圓曲線。
公鑰密碼算法通常基于一個數學難題,橢圓曲線也不例外,它有著堅實的理論基礎。20世紀80年代中期,Neal Koblitz和Victor Miller將橢圓曲線引入密碼學,提出了基于有限域GF(p)的橢圓曲線上的點構成群,在這個群上定義基于橢圓曲線的離散密碼體制,其安全性基于橢圓曲線上離散對數問題的難度。
2 橢圓曲線算法步驟
2.1 加密算法
2.2 解密算法
(1)B使用自己的私鑰nb計算:
(2)B計算m=(C-y)/x,得到明文m。
3 橢圓曲線算法的安全性
3.1 計算量分析
表1從密碼分析所需要的計算量的角度,通過給出可比較密鑰大小,比較各種算法需要的計算量。從表中可以看出橢圓加密體制的效率明顯優于RSA算法。
3.2 對橢圓曲線加密的攻擊
一直到目前,還沒有發現求解橢圓曲線上離散對數問題比較好的解法,也就是說目前ECC沒有明顯的缺點,但也存在一些求解的思路,主要分為兩類:第一類是利用一般曲線離散對數的攻擊方法,比如說Pohlig-Hellman法,另一類是對特殊曲線的攻擊方法,如MOV規約法和Smart法。
為了防止Pohlig-Hellman方法的攻擊,n必須為大素數,對于固定的有限域GF(p),n應該盡可能的大。為了防止MOV規約法和Smart法,不能選取超奇異橢圓曲線和異常曲線等兩類特殊的曲線。
4 橢圓曲線算法的優點和缺點
首先,表2將橢圓曲線算法與當前運用最為廣泛的公鑰RSA算法進行比較:
4.1 橢圓曲線加密算法的優點
(1)ECC的安全性比較高。
(2)160位的ECC與1024位RSA有相同的安全強度。
(3)ECC的處理速度更快。
(4)ECC的存儲空間比較小。
(5)ECC的密鑰長度和其他參數比RSA等小。
4.2 橢圓曲線算法的缺點
(1)設計相對比較困難,實現復雜。
(2)密鑰長度如果過于短,沒有想象中的完善。
5 結語
目前來看,橢圓曲線加密體制和例如RSA加密算法比較起來具有比較明顯的優越性,它可以在更短的密鑰,更低的存儲空間的情況下擁有相同的安全強度。但是于此同時,橢圓曲線加密體制出現的時間還不夠久遠,是否能夠承受未來某些攻擊我們還不得而知,因此橢圓曲線加密體制值得我們今后進一步研究。
參考文獻:
[1]谷利澤,鄭世慧,楊義先編著.現代密碼學教程[M].北京郵電大學出版社,2009.
[2]盧開澄.計算機密碼學[M].北京:清華大學出版社,2003.
[3]楊曉元.現代密碼學[M].西安:西安電子科技大學出版社,2009.
[4]楊波.現代密碼學(第二版)[M].北京:清華大學出版社,2007.