Hash函数MD5攻击技术研究(10)
时间:2025-07-11
时间:2025-07-11
Hash函数MD5攻击技术研究
第二章相关的基础知识7
第二章相关的基础知识
目前,应用中的大多数Hash函数的设计都采用了迭代结构,每次处理一个固定长度的消息分组。迭代结构的典型代表是MD结构,该结构是基于压缩函数的迭代:
厂:{o,1)”×{o,畸“--{o,1)”其中咒>m≥1式(2-1)
一个Hash函数的任意有限长度的输入X在被压缩之前,首先被划分长度为b比特的消息分组五,这个过程包含了消息的填充,也就是在最后的一个消息分组的后面附加若干个额外的比特,使得填充后的消息的长度恰好为b比特的整数倍。为了安全和便于应用,通常填充信息包含了填充前消息的长度。每一个消息块鼍作为压缩函数f的输入,f的输出为一个n比特的中间结果。f可以看成是一个具有两个输入变量的函数:前一个迭代输出的中间结果以及输入的消息分组t,让皿代表第i个迭代的输出结果。一个输入为X'-IlX2 x的Hash函数迭代过程如下:
H。=∥,
/4,=,(Hi—l;毛),1sf
h(x)=g(只)sf;式(2.2)式(2-3)式(2-4)
日H称为第i一1个迭代和第i个迭代之间的链接变量,风是一个预先定义的初始值∥。在最后一步使用一个输出变换函数g,把n比特的链接变量映射成m比特的输出结果g(H)。在很多Hash算法中,g经常被定义成恒等映射g(皿)=q。
2.1MD5算法
2.1.1整体结构描述
MD5算法采用迭代型Hash函数的一般结构,算法如图2.1所示。算法的输入为任意长的消息(图中为k比特),分为512比特长的消息分组,输出为128比特的消息摘要。
上一篇:第二章_多项式练习