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年12月推出,也是國家安全戰略,現在銀行都要要求國際算法改造,要把國際算法都給去掉
C 語言實現
/guanzhi/GmSSL/
Go 語言
/tjfoc/gmsm
/ZZMarquis/gm
Java 語言
/PopezLotado/SM2Java
Go語言實現,調用 gmsm