密码学的一个大作业
(迷迷糊糊听了一学期,结果老师要做大作业,wc搞了两个月,都怪自己太菜)
这是题目要求
sm3和aes的cbc模式的算法我就简单说说
sm3就是填充然后进行迭代和信息扩展,压缩。。。。就是图中
AES主要就是那4个过程s盒置换,行位移,列混合,轮密钥加了
其中要进行多轮,
加密每1轮包括S盒字节替换、行移位、列混合、轮 密钥加,最后1轮少一个列混合;
解密没1轮包括逆 行移位、逆字节替换、轮密钥加、逆列混合,最后1 轮少逆列混合
对,还要一个重点就是密钥扩展,这个不说了直接上图
算法到这里就差不多l
代码直接上来(对这是c++的)
代码下载