金融安全算法介紹系列5——國密算法

前言:

爲了方便查看博客,特意申請了一個公衆號,附上二維碼,有興趣的朋友可以關注,和我一起討論學習,一起享受技術,一起成長。

在這裏插入圖片描述


1. 簡介

國密即國家密碼局認定的國產密碼算法。主要有 SM1,SM2,SM3,SM4。密鑰長度和分組長度均爲 128 位。其他還有 SM7、SM9、祖沖之密碼算法等。

1.1 SM1

SM1 爲對稱加密。其加密強度和 AES 差不多。該算法目前未公開,調用該算法時,需要通過加密芯片的接口進行調用,僅以 IP 核的形式存在於芯片中。

SM1 加解密的分組長度爲 128 bit,密鑰長度都爲 128 bit,對數據進行加解密時,若消息長度過長,需要進行分組,消息長度不足,則要進行填充補位。

1.2 SM2

SM2 爲非對稱加密,算法已公開。由於該算法基於 ECC,故其簽名速度與祕鑰生成速度都快於 RSA。ECC 256 位(SM2 採用的就是ECC 256位的一種)安全強度比 RSA 2048 位高,運算速度快於 RSA。

SM2 包括 SM2-1 橢圓曲線數字簽名算法,SM2-2 橢圓曲線密鑰交換協議,SM2-3 橢圓曲線公鑰加密算法,分別用於實現數字簽名密鑰協商和數據加密等功能。SM2 算法與 RSA 算法不同的是,SM2 算法是基於橢圓曲線上點羣離散對數難題,相對於 RSA 算法,256 位的 SM2 密碼強度已經比 2048 位的 RSA 密碼強度高。

1.3 SM3

SM3 雜湊算法是我國自主設計的密碼雜湊算法,適用於商用密碼應用中的數字簽名和驗證消息認證碼的生成與驗證以及隨機數的生成,可滿足多種密碼應用的安全需求。爲了保證雜湊算法的安全性,其產生的雜湊值的長度不應太短,例如 MD5 輸出 128 比特雜湊值,輸出長度太短,影響其安全性。SHA-1 算法的輸出長度爲 160 比特,SM3 算法的輸出長度爲 256 比特,因此 SM3 算法的安全性要高於 MD5 算法和 SHA-1 算法。

1.4 SM4

SM4 分組密碼算法是用於無線局域網和可信計算系統的專用分組密碼算法。對稱加密,密鑰長度和分組長度均爲 128 bit。

加密算法與密鑰擴展算法都採用 32 輪非線性迭代結構。解密算法與加密算法的結構相同,只是輪密鑰的使用順序相反,解密輪密鑰是加密輪密鑰的逆序。

參考:

  1. SM1分組密碼
  2. 國密SM1算法、SM4算法與國外算法的安全性比較
  3. 淺談國密算法
  4. 關於國密算法 SM1,SM2,SM3,SM4 的筆記
  5. 國密算法SM1/SM2/SM3/SM4
  6. 談談PBOC3.0中使用的國密SM2算法
  7. ECC加密算法入門介紹
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章