密碼學中SM2算法
2018-03-20 16:04:27 | 來源:中培企業IT培訓網
3. SM2算法
SM2是我們國家密碼管理局于2010年12月17日發布(第21號)的國家密碼標準,是基于ECC(橢圓曲線密碼算法)的公鑰密碼算法。隨著密碼技術和計算技術的發展,目前常用的1024位RSA算法面臨嚴重的安全威脅,我們國家密碼管理部門經過研究,決定采用SM2橢圓曲線算法替換RSA算法。SM2算法在安全性、性能上都具有優勢。
SM2算法是國家發明,其計算上比國際上公布的ECC算法復雜。SM2算法采用的橢圓嗑線方程為:y2=x3+ax+b。在SM2算法標準中,通過指定a、1)系數,確定了唯一的標準曲線。同時,為了將曲線映射為加密算法,SM2標準中還確定了其它參數,供算法程序使用。
這里不深人探討橢圓曲線的數學理論,僅通過圖示展示算法原理。選a=-l,b=0,則橢圓曲線方程為:。曲線參見下圖:
(I)P點為基點;
(2)通過P點做切線,交與點2P點,在2P’點做垂線,交與2P點,2P點即為P點的2倍點;
(3)進一步,P點和2P點之間做直線,交與3P’點,在3P’點做豎線,交與3P點,3P 點即為P點的3倍點;
(4)同理,可以計算出P點的4、5、6、…倍點;
(5)如果給定圖上Q點是P的一個倍點,請問Q是P的幾倍點呢?
(6)直觀上理解,正向計算一個倍點是容易的,反向計算一個點是P的幾倍點則困難的多。
在橢圓曲線算法中,將倍數d做為私鑰,將Q做為公鑰。當然,橢圓曲線算法還有更嚴格的計算過程,相對圖示要復雜的多。
標簽:
SM2算法
- 上一篇:密碼學中RSA算法舉例
- 下一篇:密碼學中SM2算法應用