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

杂说2 —— 回顾以前写过的国密SM3

2023-04-16 16:40 作者:FineClassFuture  | 我要投稿

SM3密码杂凑算法

SM3 Cryptographic Hash Algorithm

国家密码管理局

2010年12月

1 范围

本文本规定了SM3密码杂凑算法的计算方法和计算步骤,并给出了运算示例。

本文本适用于商用密码应用中的数字签名和验证、消息认证码的生成与验证以及随机数的生成,可满足多种密码应用的安全需求。同时,本文本还可为安全产品生产商提供产品和技术的标准定位以及标准化的参考,提高安全产品的可信性与互操作性。


文档中已描述了算法流程,编程中,只需将文档的符号用编程符号或函数实现。

在附录中两个例子描述了流程及中间结果。


对长度为l(l < 264 ) 比特的消息m,SM3杂凑算法经过填充和迭代压缩生成杂凑值。

杂凑值长度为256比特。

注意点:

  1. 大端、word字

  2. 填充、扩展、分组

  3. <<<循环左移k比特运算


主体函数就像


测试附录的两个例子


=== str1: abc

SM3:

 66C7F0F4  62EEEDD9  D1F2D46B  DC10E4E2  4167C487  5CF2F7A2  297DA02B  8F4BA8E0

=== str1: abcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcd

SM3:

 DEBE9FF9  2275B8A1  38604889  C18E5A4D  6FDB70E5  387E5765  293DCBA3  9C0C5732


自行测试分组

=== str1: 0123456789012345678901234567890123456789012345678901234

SM3:

 FA6EFAC8  92677C6C  6B0F8F19  D2DEB80A  F79BDAF1  581D9784  7C851768  27C58B68

=== str1: 01234567890123456789012345678901234567890123456789012345

SM3:

 11211AD8  A6656FBC  1A2741CF  CEAC1409  91E354F5  C94EA94E  E63630C8  6E9858FE

 

在线网站https://the-x.cn/zh-cn/hash/ShangMi3Algorithm.aspx的结果


杂说2 —— 回顾以前写过的国密SM3的评论 (共 条)

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