SM1是對稱加密。其加密強度相當於AES。該算法不是公共的。調用這個算法時,需要通過加密芯片的接口調用。
SM2是基於ECC的非對稱加密。算法已經公布了。由於該算法基於ECC,其簽名速度和密鑰生成速度都比RSA快。ECC 256位(SM2是ECC 256位的壹種)比RSA 2048位具有更高的安全強度,但其運算速度比RSA更快。
國家密碼管理局公布的公鑰算法,加密強度為256位。
SM3消息摘要。MD5可以作為比較理解。算法已經公布了。驗證結果是256位。
SM4無線局域網標準的分組數據算法。對稱加密,密鑰長度和塊長度均為128位。
因為SM1和SM4加解密的包長是128bit,如果消息長度太長就需要分組,如果消息長度不足就需要填充。
分組密碼算法(DES和SM4),將明文數據按固定長度分組,然後在同壹密鑰的控制下分組加密。
公鑰加密算法(RSA和SM2),公鑰加密算法本身和公鑰壹樣,而私鑰則被保存。
算法(sm3 md5)大家比較熟悉,用於數字簽名,消息認證,數據完整性,但是sm3比md5更安全。
壹般來說,國密算法的安全性是比較高的。2010二月推出,也是國家安全戰略。現在銀行不得不要求改造國際算法,把國際算法全部去掉。
c語言實現
/觀致/GmSSL/
Go語言
/tjfoc/gmsm
/ZZ侯爵/gm
java 3d
/PopezLotado/SM2Java
Go語言實現,調用gmsm