[关闭]
@iPhan 2017-12-08T07:22:04.000000Z 字数 983 阅读 733

SM3压缩函数

密码学


说明结构

输入输出说明了SM3压缩函数输入输出的格式及来源
常量定义说明了SM3压缩函数用到的常量的值
函数定义说明了SM3压缩函数用到的三个函数
函数体说明了SM3压缩函数

输入输出

,定义压缩函数输入输出为:

其中, 为上一次迭代中压缩函数的输出; 为消息分组 为消息扩展模块的输出。

注:

常量定义

函数定义

三个函数的输入X, Y, Z 为字

函数体

定义 为字寄存器; 为中间变量

初始化

循环体

变量说明:

py伪代码

  1. for i in range(64):
  2. SS1 = ((A<<<12)+E+(T_j<<<(j % 32)))
  3. SS2 = SS1 ^ (A<<<12)
  4. TT1 = FF_j(A, B, C) + D + SS2+ W_j_
  5. TT2 = GG_j(E, F, G) + H + SS1 + W_j
  6. D = C
  7. C = B <<< 9
  8. B = A
  9. A = TT1
  10. H = G
  11. G = F <<< 19
  12. F = E
  13. E = P_0(TT2)

输出

对于 ,函数输出

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注