欢迎光临散文网 会员登陆 & 注册

【Miracl密码库】国密算法SM3复现

2023-04-04 20:38 作者:C语言实验室  | 我要投稿

国密算法SM3的官方文档描述

http://www.gmbz.org.cn/main/postDetail.html?id=20180724105928

这是2018-07-24公布的文件《GM/T 0004-2012 SM3密码杂凑算法标准英文文本发布》

本文参考GitHub源码完成

https://github.com/lookingforfanyunfei/SMX_Test/tree/master/SMX_Test

该源码项目给出了不同环境下的SM3密码实现,本文在Macbook环境下实现,采用的是arm64参数。

以下是SM3密码实现的过程

(SM3算法的实现过程没有用到Miracl密码库,在SM2算法实现的过程中,需要用到Miracl密码库,所以放在了同一个专题下面。)

SM3算法的相关参数,以及定义的相关运算

1、消息扩散

消息扩散算法BiToW获得前面68个字,WToW1算法获得后面64个字,总共132个字,完成消息扩散。

2、CF压缩函数,输出256比特的哈希值

SM3对CF压缩函数的描述

在初始化的时候,CF压缩函数给出了对应的初始值,可从文档中查找。

3、加辅助函数:大端序列化

如果CPU是小端序列,则需要大端序列化


懒得复制了,去公众号看吧

【Miracl密码库】国密算法SM3复现的评论 (共 条)

分享到微博请遵守国家法律