文件名称:首发:国密SM3哈希算法,国密SM3杂凑算法-易语言
文件大小:160KB
文件格式:ZIP
更新时间:2024-07-03 17:22:47
2020开源大赛(第五届)
搜索了一圈,论坛已有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摘要,一共两个方法
【文件预览】:
说明.txt
Debug
----sm3.lib(2KB)
----sm3.exp(845B)
----sm3.pdb(396KB)
----sm3.dll(48KB)
----sm3.ilk(285KB)
sm3
----sm3.c(10KB)
----sm3.rc(4KB)
----test.c(476B)
----Debug()
--------vc141.pdb(76KB)
--------test.obj(7KB)
--------sm3.tlog()
--------sm3.log(267B)
--------sm3.res(728B)
--------vc141.idb(51KB)
--------sm3.obj(28KB)
----sm3.vcxproj.user(165B)
----resource.h(382B)
----sm3.h(3KB)
----sm3.vcxproj(8KB)
----sm3.aps(2KB)
----sm3.vcxproj.filters(1KB)
sm3.sln
易语言例子
----demo.e(5KB)
----sm3.dll(48KB)