【正文】
Hash 函數(shù)設(shè)計原理 ? 生日攻擊 (基于生日悖論 ) 在 k個人中 ,找一個與某人生日相同的人的 概率超過 ,只需 k 而在此人群中 , 至少有兩個人生日相同的概率超過 ,只需 k23. b Y0 n f b Y1 n f b YL1 n CVL1 f CV1 n n IV = 初始值 CV = 鏈接值 Yi = 第 i 個輸入數(shù)據(jù)塊 f = 壓縮算法 n = 散列碼的長度 b = 輸入塊的長度 8 安全雜湊算法的一般結(jié)構(gòu) CVL CV0=IV= initial nbit value CVi=f(CVi1, Yi1) (1 ? i ? L) H(M) = CVL 9 MD5 算法邏輯 ? 輸入:任意長度的消息 ? 輸出: 128位消息摘要 ? 處理:以 512位輸入數(shù)據(jù)塊為單位 MD5 (RFC 1321) developed by Ron Rivest at MIT in 90’s. 報文 K bits L?512 bits=N ?32bits 報文長度 (K mod 264) 100…0 Y0 512 bits Y1 512 bits Yq 512 bits YL1 512 bits HMD5 IV 128 HMD5 CV1 128 HMD5 CVq 128 HMD5 CVL1 128 512 512 512 512 128bit 摘要 MD5產(chǎn)生報文摘要的過程 填充 (1 to 512 bits) 11 MD5算法描述 ? 步驟 1: 添加填充位 (一個 1 和若干個 0)。在消息的最后添加適當(dāng)?shù)奶畛湮皇沟脭?shù)據(jù)位的長度滿足 length ? 448 mod 51