|
搜索了一圈,论坛已有SM4,所以我发一个SM3摘要算法
国密即国家密码局认定的国产密码算法。主要有SM1,SM2,SM3,SM4。密钥长度和分组长度均为128位。
SM3是一种密码散列函数标准,相关标准为“GM/T 0004-2012 《SM3密码杂凑算法》”。
在商用密码体系中,SM3主要用于数字签名及验证、消息认证码生成及验证、随机数生成等,其算法公开。
SM3 消息摘要。可以用MD5作为对比理解。
SM3算法结果为256位,其大体上与SHA256相同,其算法过程如下:
1、填充
SM3对消息长度小于为2^64位进行运算,其填充方法与SHA256的相同,假设消息m 的长度为l 比特。首先将比特“1”添加到消息的末尾,再添加k 个“0”,k是满足l + 1 + k = 448mod512 的最小的非负整数。然后再添加一个64位比特串,该比特串是长度l的二进制表示。填充后的消息m′ 的比特长度为512的倍数。
2、迭代压缩
这个过程与其他HASH算法类似,先进行消息扩展,之后迭代与压缩,其详细过程可参考标准文档。其扩展与压缩计算以循环移位为主,并有异或计算。
完
由于技术原因使用的是C语言导出函数以供易语言调用
支持字节集计算SM3摘要,文件计算SM3摘要,一共两个方法
源码下载,回复可见
sm3哈希算法.rar
(137.4 KB, 下载次数: 416)
|
评分
-
查看全部评分
本帖被以下淘专辑推荐:
- · 个人收藏|主题: 2515, 订阅: 80
- · 好帖|主题: 1239, 订阅: 44
|