SM3密码杂凑算法的描述
SM3密码杂凑算法采用Merkle-Damgard结构,消息分组长度为512b,摘要长度256b。压缩函数状态256b,共64步操作步骤。
SM3密码杂凑算法的初始值:
SM3密码杂凑算法的初始值共256b,由8个32b串联构成,具体值如下:
IV=7380166f 4914b2b9 1724422d7 da8a0600
a96f30bc 163138aa e38dee4d b0fb0e4e。
SM3密码杂凑算法的常量:
SM3密码杂凑算法的常量定义如下:

SM3密码杂凑算法的布尔函数:
SM3密码杂凑算法的布尔函数定义如下:

SM3密码杂凑算法的置换函数:
SM3密码杂凑算法的置换函数定义如下:

SM3密码杂凑算法的消息填充:
对于长度为l(l<264)比特的消息m,SM3密码杂凑算法首先将比特“1”添加到消息的末尾,再添加k个“0”,k是满足l+k+1=448 mod 512的最小非负整数。然后再添加一个64位比特串,该比特串是长度l的二进制表示。填充后的消息m’的比特长度我512的倍数。例如:对消息01100001 01100010 01100011,其长度l=24,经填充得到的比特串如下:01100001 0100010 011000111 0···00···011000
SM3密码杂凑算法的迭代压缩过程:
将填充后的消息m’按512b进行分组:m’=B(0)B(1)

SM3算法基于Merkle-Damgard结构,消息分组512b,摘要256b。初始值和常量特定,通过布尔函数、置换函数和消息填充进行处理。迭代压缩过程中,消息扩展和状态更新确保安全性。算法设计考虑了高效性和适用性,能有效抵抗各种密码分析攻击。
最低0.47元/天 解锁文章
357





