11.22用分组加密函数构造杂凑函数 ● Rabin方案 ●密码组链接方案 ●密钥链接方案 112.3用候选单向函数构造杂凑函数 ●单向函数输出值链接方案 ●单向无爪函数输出值链接方案
11.2.2 用分组加密函数构造杂凑函数 ⚫Rabin方案 ⚫密码组链接方案 ⚫密钥链接方案 11.2.3 用候选单向函数构造杂凑函数 ⚫单向函数输出值链接方案 ⚫单向无爪函数输出值链接方案
8安全杂凑算法的一般结构 Y Y L-1 n n f CVL CVI ⅣV=初始值 CV=链接值 Yi=第i个输入数据块 f=压缩算法 n=散列码的长度 b=输入块的长度
b Y0 n f b Y1 n f b YL-1 n CVL-1 f CV1 n n IV = 初始值 CV = 链接值 Yi = 第i 个输入数据块 f = 压缩算法 n = 散列码的长度 b = 输入块的长度 8 安全杂凑算法的一般结构 CVL CV0=IV= initial n-bit value CVi=f(CVi-1 , Yi-1 ) (1 i L) H(M) = CVL
9MD5算法逻辑 ●输入:任意长度的消息 ●输出:128位消息摘要 ●处理:以512位输入数据块为单位 MD5 (RFC 1321)developed by ron Rivest at mit in 90's
9 MD5 算法逻辑 ⚫输入:任意长度的消息 ⚫输出:128位消息摘要 ⚫处理:以512位输入数据块为单位 MD5 (RFC 1321) developed by Ron Rivest at MIT in 90’s
L×512bits=N×32bits 填充 (1to512 K bits bits) 报文 100..0 报文长度 (K mod 264 512 bits 512 bits 512 bits 512 bits Y q YI 512 512 512 512 128 128 128 128 MDS MDS MDS MD5 CⅤ CV CVL MD5产生报文摘要的过程 128-bit 摘要
报文 K bits L512 bits=N 32bits 报文长度 (K mod 264) 100…0 Y0 512 bits Y1 512 bits Yq 512 bits YL-1 512 bits HMD5 IV 128 HMD5 CV1 128 HMD5 CVq 128 HMD5 CVL-1 128 512 512 512 512 128-bit 摘要 MD5产生报文摘要的过程 填充 (1 to 512 bits)