项目简介
本项目聚焦于SM3密码杂凑值算法,该算法是国家密码局公布的自研算法,安全性与SHA - 256相当,分组长度为512bit,最终计算长度为256bit。项目实现了SM3算法的基础功能,涵盖初始化、数据填充、消息扩展和压缩函数等步骤,还通过预计算常量的方式对算法进行了优化,有效提高了算法效率。
项目的主要特性和功能
- 完整实现SM3算法,包含初始化、数据填充、消息扩展和压缩函数等核心步骤,能对不同长度的数据计算256bit的哈希值,用于验证数据的完整性和一致性。
- 对算法进行优化,预计算64个常量并存储,避免每个消息分组都进行常数的移位操作,以256字节的较小存储代价换取性能显著提升。
- 效率提升明显,经实验验证,不同长度的消息使用优化后的算法运算时间明显缩短,消息越大优化效果越明显。
安装使用步骤
假设用户已经下载了本项目的源码文件,可按以下步骤操作: 1. 确保开发环境:确认系统为Windows10,使用VS2019开发平台,处理器为Intel(R) Core(TM) i7 - 9750H,且已安装C语言开发环境。 2. 打开项目:使用VS2019打开项目源码文件。 3. 编译运行:在VS2019中编译项目代码,编译成功后运行程序。程序会对提前准备好的test.txt文件中的明文消息计算摘要。 4. 验证结果:可根据程序输出的哈希值验证数据的完整性和一致性,也可对比优化前后的运算时间,查看优化效果。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】