第12章 哈希算法和MAC算法MD5(精简) 联系客服

发布时间 : 星期三 文章第12章 哈希算法和MAC算法MD5(精简)更新完毕开始阅读a0eb6b04a6c30c2259019ef9

谭文学信息安全与保密教案 第13/67页:4/21/2013 11:34 AM

– 如果|M0| ≡ 448 mod 512,则|M1| = |M|+512 –Padding内容: 100?0

Step 2: Append 64-bit length 填充前长度,将填充前长度表示为64位的形式。(单位:bits)。 例如:M0=“abc”.|M0|=24bits=0x18,则64位长度为:0x18||0x00*7.

–若|M0| > 2^64 bits,则仅取长度的2^64进制的低64位。

所以64位长度位并未反应M0的真实长度。 即|M|%2^64

谭文学信息安全与保密教案 第14/67页:4/21/2013 11:34 AM

–数据格式:低字节在前(little-endian)

–|M2|为512的倍数: Y1,?,YL-1(L个分组每个分组为512位=16个32位整数)

Step 3: (128哈希值)向量初始化Initialize MD buffer (little-endian)

(ABCD)?CV0?IV ,I=1。,

A = 01 23 45 67 (左边是内存状况,值形式:0x67452301)

B = 89 AB CD EF (0xEFCDAB89) C = FE DC BA 98 (0x98BADCFE) D = 76 54 32 10 (0x10325476)

谭文学信息安全与保密教案 第15/67页:4/21/2013 11:34 AM

Step 4: MD5:压缩;CV0=IV, CVi= HMD5(CVi-1,Yi) Step 5: (ABCD)为Output MD = CVL 。

其中:IV初始常128位向量。 Pi = 消息的第i个512位数据块 L = 消息中数据块数;

CVq = 链接变量,用于第q个数据块的处理 MD: 最终消息摘要结果

+:分别按32位字计算的模2^32加法结果。

谭文学信息安全与保密教案 第16/67页:4/21/2013 11:34 AM