下你所需,载你所想!
汇集开发技术源码资料

SM3哈希算法,SM3杂凑算法

:138.47KB :1 :2021-09-15 13:18:49

部分简介

主要有SM1,SM2,SM3,SM4。密钥长度和分组长度均为128位。

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算法类似,先进行消息扩展,之后迭代与压缩,其详细过程可参考标准文档。其扩展与压缩计算以循环移位为主,并有异或计算。

支持字节集计算SM3摘要,文件计算SM3摘要,一共两个方法。

热门推荐

相关文章