- 13
- 0
- 约2.91千字
- 约 6页
- 2016-10-17 发布于重庆
- 举报
MD5消息摘要算法
MD5消息摘要算法
简介:
?Merkle于1989年提出hash function模型
?Ron Rivest于1990年提出MD4
?1992年, Ron Rivestat 提出MD5(Message Digest)[RFC 1321]
?别名:压缩函数、杂凑函数、散列函数、报文摘要
? 结构:MD5遵循安全hash码的一般结构
?输入:任意长的消息
?MD5把数据分成512-bit块
?MD5的Hash值是128-bit
?在最近数年之前,MD5是最主要的Hash算法
?现行美国标准SHA-1以MD5的前身MD4为基础
MD5算法步骤
算法结构(遵循一般结构)
图12.1 使用MD5产生报文摘要的主过程
算法框架
附加填充比特:对报文进行填充,使其长度(比特数)与448模512同余,即
长度≡448 mod 512
即填充长度为512的整数倍减去64。例如,报文是448 bit长,那么将填充512 bit形成960 bit的报文。
附加长度值:用64 bit表示的初始报文(填充前)的位长度附加在步骤1的结果后(低位字节优先)。若初始长度大于264,仅使用该长度的低64 bit。
初始化MD缓存:该缓存记为A、B、C、D各32 bit。其中
A=16 B=(89ABCDEF)16
C=(FEDCBA98)16 D=16
A、B、C、D称为链接变量,令初始值
IV=(A,B,C,D)16
主循环,共循环L次。每个循环有4轮迭代,每轮16步操作运算。每轮均以当前报文组和缓存ABCD为输入,然后更新缓存内容。
输出:所有L个512 bit的分组处理完成后,第L阶段产生的输出便是128 bit的报文摘要MD。
数学描述
或
CV0=IV
CVq+1=SUM32(CVq,RFI[Yq,RFH[Yq,RFG[Yq,RFF[Yq,CVq]]]])
MD=CVL
其中
IV =缓存A、B、C、D的初值,在步骤(3)定义
Yq =第q个长度为512 bit的报文分组
L =报文的分组数(包括填充字段和长度字段)
CVq =处理第q个报文分组时的连接变量
RFx =使用原始逻辑函数x的循环函数
MD =最终的报文摘要
SUM32 =对输入对中的每个字分别执行模232相加
单个循环
?步骤4: CV0=IV, CV=HMD5(CV-1,Y)
–(A0,B0,C0,D0)(A,B,C,D)
–(A,B,C,D,T[1…16],X[0…15])
–(A,B,C,D,T[17…32],X[0…15])
–(A,B,C,D,T[33…48],X[0…15])
–(A,B,C,D,T[49…64],X[0…15])
–(A,B,C,D)(A+A0,B+B0,C+C0,D+D0)
?512-bit(X[…]为32-bit表示)在四轮中使用
?每个轮包含16步,每步处理一个32-bit
?T[j]= [sin(j)]的整数部分, 1 j ≤ 64
MD5压缩函数
单步操作
每一轮包含对缓冲区ABCD的16步操作所组成的一个序列。
a←A,b←B,c←C, d←D
a←b + (( a + g(b,c,d) + X[k] +T[i])s)
a,b,c,d =
g = F,G,H,I
s = 32位字循环左移s位
X[k] = M[q16 + k] = q个512位数据块中的第k个32位字
T[i] = T中的第i个32位字;
+ =
(轮)函数g
第1轮、F(b,c,d) (b∧c)∨(∧d)
第2轮、G(b,c,d) (b∧d)∨(c∧)
第3轮、H(b,c,d) b⊕c⊕d
第4轮、I(b,c,d) c⊕(b∨)
X[k]
= (=0,1,…,15)
T[i]
T[] =1≤≤64
其中:为弧度;sin(i)为正弦函数; 为下整数函数(即不大于x的最大的整数。
循环移位位数s
轮
数 第
1
步 第
2
步 第
3
步 第
4
步 第
5
步 第
6
步 第
7
步 第
8
步 第
9
步 第
10
步 第
11
步 第
12
步 第
13
步 第
14
步 第
15
步 第
16
步 1 7 12 22 17 7 12 22 17 7 12 22 17 7 12 22 17 2 5 9 14 20 5 9 14 20 5 9 14 20 5 9 14 20 3 4 11 16 23 4 11 16 23 4 11 16 23 4 11 16 23 4 6 10 15 21 6 10 15 21 6 10 15 21 6 10 15 21 详细操作
第1轮 ?For(k = 0; k 16
您可能关注的文档
- MBAManagingDirector,GVM英语写作与翻译MEMO.doc
- MBEW和MBEWH的更新机制.docx
- 第四节俄罗斯(第一课时).doc
- MBR与GPT分区模式互换.docx
- mbe驱动程序安装步骤.doc
- MBS3000紧凑型压力变送器.doc
- 第四节企业战略管理理论的学派 .doc
- 第四节园林色彩布局.doc
- 第四节园林建筑空间.doc
- 第四节字量和字库 .doc
- 2025年小额贷款行业盈利模式报告.docx
- 2026年化学传感器市场竞争策略与企业发展报告.docx
- 2025年纺织服装十年变革:快时尚与可持续时尚报告.docx
- AI故事续写工具在小学语文写作想象力激发中的实验分析教学研究课题报告.docx
- 2025-2030中国表氯醇(ECH)行业市场现状供需分析及投资评估规划分析研究报告.docx
- 湖南长郡中学2026届高三上学期月考(一)化学试卷.docx
- 2025年绿色建筑十年发展:节能材料与建筑设计报告.docx
- 译林版七年级下册 Unit 2 Neighbourhood 单元词汇梳理.docx
- 2026年染料行业环保治理成本结构及市场供需优化路径分析报告.docx
- 基于生成式AI的高中地理教学中的区域发展模拟教学研究教学研究课题报告.docx
原创力文档

文档评论(0)