2017-2018-2 20179212 《网络攻防》 作业
本次实验课由王孟亚、李栋我们三个共同完成,我主要负责SM3的研究和Python实现。
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密码杂凑算法的置换函数定义如下: