AES,DES和MD5,SHA-1区别总结

DES

分组长度: 64位
加密密钥长度: 56位(密钥通常为64位,但每8位都用作奇偶校验)
加密轮数: 16轮
混淆和扩散:
  S-盒是DES算法的核心,也是该算法中唯一的非线性元素(即S(a)⨁S(b)≠S(a⨁b)S(a)⨁S(b)≠S(a⨁b)),并提供了混淆,s盒6进4出。
  置换:引入扩散。每个S-盒的4位输出都会进行置换(p盒置换),使得在每一位在下一轮中会影响多个不同的S-盒操作。通过反复迭代的扩散,每个密文位都将是每个明文位和每个密钥位的函数,这也称为雪崩效应。

加密过程:
先经过IP置换,在主轮(共16轮)之前,块被分成两个32位的L0和R0,交替处理16轮。
最后经过一个IP逆置换。
在这里插入图片描述


AES

类别 AES-128 AES-192 AES-256
分组长度: 128位 192位 256位
加密密钥长度: 128位 192位 256位
加密轮数: 10轮 12轮 14轮

混淆和扩散:
行移位列混合实现扩散,s盒实现混淆(y=Ax-1+b),这里用到了本原多项式。


MD5

分组长度: 512位
每个分组被划分为16个32位的子分组
消息处理: 使其长度成为512的整数倍,如果不是整数倍,填充一个1,其余位为0,使信息比特位长度mod 512 = 448,然后将一个以64位二进制表示的信息的最初长度添加进来构成512的整数倍。
消息摘要: 128位
算法的输出由4个32位的分组(有寄存器AA,BB,CC,DD)组成
每个分组主循环: 4轮
这4轮中每轮各有16次操作(对寄存器中的值AA,BB,CC,DD)反复赋值移位异或运算。

最后(初始有4个32位给定初值的寄存器A,B,C,D)
A=A+AA,B=B+BB,C=C+CC,D=D+DD.
然后拼接这4个寄存器的值,
H(x)=A||B||C||D,得到4*32=128位消息摘要。


SHA-1

分组长度: 512位
消息处理: 的最大长度不超过264位,处理长度为512的整数倍与MD5相同。
消息摘要: 160位
给定5个32位寄存器A,B,C,D,E分别赋上初值
主循环: 4轮
4轮中每一轮进行20次操作对(AA,BB,CC,DD,EE,5个寄存器进行赋值),进行与MD5类似的移位运算和加运算。

最后A=A+AA,B=B+BB,C=C+CC,D=D+DD,E=E+EE
输出:H(x)=A||B||C||D||E,得到5*32=160位消息摘要。



谢谢!

猜你喜欢

转载自blog.csdn.net/qq_43371004/article/details/89978502