SM2橢圓曲線公鑰密碼算法


國家必須要有屬於自己的一套加密機制才行。。。好復雜。分享下看哪位看得懂其中的原理大笑

 

國家密碼管理局於2010年12月17日發布了SM2橢圓曲線公鑰密碼算法,並要求為對現有基於RSA算法的電子認證系統、密鑰管理系統、應用系統進行升級改造。關於算法標准,請參見《國家密碼管理局公告(第 21 號)》,網址為 www.oscca.gov.cn/

SM2算法和RSA算法有什么關系?
  SM2算法和RSA算法都是公鑰密碼算法,SM2算法是一種更先進安全的算法,在我們國家商用密碼體系中被用來替換RSA算法。
為什么要采用SM2算法替換RSA算法?
隨着密碼技術和計算技術的發展,目前常用的1024位RSA算法面臨嚴重的安全威脅,我們國家密碼管理部門經過研究,決定采用SM2橢圓曲線算法替換RSA算法。SM2算法在安全性、性能上都具有優勢,參見表1算法攻破時間,表2算法性能。

RSA密鑰強度

橢圓曲線密鑰強度

攻破時間(年)

512

106

104,已被攻破

768

132

108,已被攻破

1024

160

1011

2048

210

1020

表1 算法攻破時間 

算法

簽名速度(次/秒)

驗簽速度(次/秒)

1024位RSA

2792

51224

2048位RSA

455

15122

256位SM2

4095

871

表2 算法性能 

SM2和橢圓曲線算法是什么關系?
一提起曲線,大家就會想到方程,橢圓曲線算法是通過方程確定的,SM2算法采用的橢圓曲線方程為:
y2 = x3 + ax + b
在SM2算法標准中,通過指定a、b系數,確定了唯一的標准曲線。同時,為了將曲線映射為加密算法,SM2標准中還確定了其它參數,供算法程序使用。

橢圓曲線算法是什么原理?
本文不探討橢圓曲線的數學理論,僅通過圖示展示算法原理。請參見下圖: 
 
圖1 橢圓曲線算法原理

   上圖為方程:y2 = x3–x的曲線。
1、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算法可以進行哪些密碼應用?
SM2算法做為公鑰算法,可以完成簽名、密鑰交換以及加密應用。SM2算法標准確定了標准過程:
1、簽名、驗簽計算過程;
2、加密、解密計算過程;
3、密鑰協商計算過程。
需要說明,其他國家的標准和SM2確定的計算過程存在差異,也就是說相互之間是不兼容的。

SM2算法速度快嗎?
簡單講,SM2簽名速度快,驗簽速度慢,這點和RSA算法的特性正好相反。參見表2。
另外,加解密速度和驗簽速度相當。
SM2簽名算法支持多大的數據量,簽名結果為多少字節?
簽名原始數據量長度無限制,簽名結果為64字節。
SM2加密算法支持多大的數據量,加密結果增加多少字節?
支持近128G字節數據長度,加密結果增加96個字節。

SM2相關算法有哪些?
SM2為國家密碼管理局公布的公鑰算法,其加密強度為256位。其它幾個重要的商用密碼算法包括:
SM1,對稱加密算法,加密強度為128位,采用硬件實現;
SM3,密碼雜湊算法,雜湊值長度為32字節,和SM2算法同期公布,參見《國家密碼管理局公告(第 22 號)》;

SMS4,對稱加密算法,隨WAPI標准一起公布,可使用軟件實現,加密強度為128位。

 

沃通CA做中國數字證書領域行業的領跑者  buy.wosign.com  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM