MD5原理图
2023-09-20 09:21:17 12 举报
MD5是一种常用的哈希算法,它的原理图主要包括五个部分:初始化、填充、分块、循环和输出。在初始化阶段,将原始数据与一个常量进行异或操作,得到一个初始值。接下来,对原始数据进行填充,使其长度满足特定的要求。然后,将填充后的数据分成若干个固定大小的块,每个块都有一个唯一的索引值。接着,进入循环阶段,对每个块进行处理,包括四个非线性函数和一次逻辑运算。最后,将处理后的块与上一个块的输出进行异或操作,得到最终的哈希值。MD5算法具有较高的安全性和较快的计算速度,广泛应用于密码存储、数字签名等领域。
作者其他创作
大纲/内容
第一轮
FF(A,B,C,D,Mi,S,Tj)
第二轮
D
II(A,B,C,D,Mi,S,Tj)
+
A
C
000...000
划分消息分块(每512bit为一块)
第三轮
1
填充数据、划分为块(每512bit为一块)
数据子数组
哈希运算
第四轮
GG(A,B,C,D,Mi,S,Tj)
左移位数S
处理每块
B
取任意几位哈希值
常数
处理完所有块后将ABCD连接起来生成128位散列值
初始化状态(对四个32位寄存器ABCD初始化)
(将处理后的每块与初始状态混合,例:A=A+A_chushi)
函数F
原始数据
循环左移
数据块512bit
C
C
数据长度
HH(A,B,C,D,Mi,S,Tj)
填充数据(是512bit的倍数)
0 条评论
下一页