国密算法说明SM2SM3SM4

Posted 段江涛IT

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了国密算法说明SM2SM3SM4相关的知识,希望对你有一定的参考价值。

国密即国家密码局认定的国产密码算法。主要有SM1,SM2,SM3,SM4。密钥长度和分组长度均为128位。
SM1 为对称加密。其加密强度与AES相当。该算法不公开,调用该算法时,需要通过加密芯片的接口进行调用。
SM2为非对称加密,基于ECC。该算法已公开。由于该算法基于ECC,故其签名速度与秘钥生成速度都快于RSA。ECC 256位(SM2采用的就是ECC 256位的一种)安全强度比RSA 2048位高,但运算速度快于RSA。
SM3 消息摘要。可以用MD5作为对比理解。该算法已公开。校验结果为256位。
SM4 无线局域网标准的分组数据算法。对称加密,密钥长度和分组长度均为128位。

由于SM1、SM4加解密的分组大小为128bit,故对消息进行加解密时,若消息长度过长,需要进行分组,要消息长度不足,则要进行填充。

SM2,SM3,SM4的相关文档可以参考如下链接:
http://218.241.108.63/wiki/index.php/首页


SM2,SM3,SM4的C代码如下:
http://files.cnblogs.com/files/TaiYangXiManYouZhe/Sm2_sm3_sm4_c%E8%AF%AD%E8%A8%80%E5%AE%9E%E7%8E%B0.zip

补充:
当使用特定的芯片进行SM1或其他国密算法加密时,若用多个线程调用加密卡的API时,要考虑芯片对于多线程的支持情况。

以上是关于国密算法说明SM2SM3SM4的主要内容,如果未能解决你的问题,请参考以下文章

Java笔记-SM2(国密2)的调用及SM2SM3SM4使用场景

Java笔记-SM2(国密2)的调用及SM2SM3SM4使用场景

gmssl国密总结

国密算法的ekey基本使用的说明

嵌入式设备中支持国密算法的方法

国密算法