【正文】
F,T[1…16],X[i] 16 steps G,T[17…32],X[ ?2i] 16 steps H,T[33…48],X[ ?3i] 16 steps I,T[49…64],X[ ?4i] 16 steps + + + + A B C D A B C D A B C D A B C D CVq 128 32 Yq 512 CVq+1 128 + is mod 232 單個(gè) 512bit 分組的 MD5 處理過(guò)程 17 MD5 壓縮函數(shù) 每一輪包含對(duì)緩沖區(qū) ABCD的 16步操作所組成的一個(gè)序列。 T表提供了隨機(jī)化的 32位模板, 消除了在輸入數(shù)據(jù)中的任何規(guī)律性的特征 15 T 表 T[49] = F4292244 T[50] = 432AFF97 T[51] = AB9423A7 T[52] = FC93A039 ... T[64] = EB86D391 T[1] = D76AA478 T[2] = E8C7B756 T[3] = 242070DB T[4] = C1BDCEEE ... T[16] = 49b40821 16 MD5算法描述 (Cont.) ? 步驟 5:輸出結(jié)果。每一輪以當(dāng)前的512位數(shù)據(jù)塊 (Yq)和 128位緩沖值 ABCD作為輸入,并修改緩沖值的內(nèi)容。 A = 67452301 B = EFCDAB89 C = 98BADCFE D = 10325476 13 Word A: 01 23 45 67 Word B: 89 AB CD EF Word C: FE DC BA 98 Word D: 76 54 32 10 14 MD5算法描述 (Cont.) ? 步驟 4:處理消息塊( 512位 = 16個(gè) 32位字