原创不易,转载请注明出处。
国密算法由国家密码局发布,今天大概介绍4中国密算法,分别是SM1,SM2,SM3,SM4。他们之间异同通过下表展示。
算法名称 | 算法分类 | 算法是否公开 | 明文最大长度(bit) | 是否分组 | 分组长度(bit) | 密钥长度(bit) | 每组密文长度/消息摘要(bit) | 发布时间 |
SM1 | 对称 | 否 | 是 | 128 | 128 | |||
SM2 | 非对称,公钥密码算法 | 是 | 是 | 128 | 128 | 2010/12/17 | ||
SM3 | 摘要算法 | 是 | 2^64 | 是 | 512 | 无 | 256 | 2010 |
SM4 | 对称 | 是 | 无限制 | 是 | 128 | 128 | 128 | 2012/3/1 |
SM1为对称加密算法,加密解密共用一套秘钥,但是SM1算法不公开,只能通过加密芯片接口调用。
SM2为非对称加密,算法公开,基于椭圆曲线,基于离散对数问题ECDLP数学难题。
SM3位摘要算法,不需要秘钥。只要文本小于2^64bit,都可以通过SM3算出长度为256bit的摘要。
SM4为对称加密算法,加密解密共用一套秘钥,SM4是专门为无线局域网产品设计的加密算法。
关于SM2/SM3/SM4具体算法实现可登录国家密码管理局免费下载。国家密码管理局发布的文档非常详细,附带示例,具有权威性。下面给出下载链接,方便大家查找。
SM2:http://www.sca.gov.cn/sca/xwdt/2010-12/17/content_1002386.shtml
SM3:http://www.sca.gov.cn/sca/xwdt/2010-12/17/content_1002389.shtml
SM4:http://www.sca.gov.cn/sca/c100061/201611/1002423/files/330480f731f64e1ea75138211ea0dc27.pdf
参考文献:
[1]https://blog.csdn.net/hcnetbee/article/details/53692579
[2]https://blog.csdn.net/andylau00j/article/details/54427395
附录 下载链接
SM4源码:https://download.csdn.net/download/u013073067/13138369
编译环境:VS2010
语言:C