@iPhan
2017-12-08T07:22:04.000000Z
字数 983
阅读 733
密码学
输入输出说明了SM3压缩函数输入输出的格式及来源
常量定义说明了SM3压缩函数用到的常量的值
函数定义说明了SM3压缩函数用到的三个函数
函数体说明了SM3压缩函数
取 ,定义压缩函数输入输出为:
其中, 为上一次迭代中压缩函数的输出; 为消息分组 为消息扩展模块的输出。
注:
三个函数的输入X, Y, Z 为字
定义: 为字寄存器; 为中间变量
变量说明:
py伪代码
for i in range(64):
SS1 = ((A<<<12)+E+(T_j<<<(j % 32)))
SS2 = SS1 ^ (A<<<12)
TT1 = FF_j(A, B, C) + D + SS2+ W_j_
TT2 = GG_j(E, F, G) + H + SS1 + W_j
D = C
C = B <<< 9
B = A
A = TT1
H = G
G = F <<< 19
F = E
E = P_0(TT2)
对于 ,函数输出