HaSh函 迭代函数以E表示,一般E又都是通过基 本轮函数的多轮迭代实现的,因此,轮 函数的设计是Hash函数设计的核心 迭代Hash函数的构造方法 安全迭代函数E 消息M划分成组M,M2,M, ●●· 选定密钥为K, H为初始向量IV, 2021/2/20 16
2021/2/20 16 Hash函数 • 迭代函数以E表示,一般E又都是通过基 本轮函数的多轮迭代实现的,因此,轮 函数的设计是Hash函数设计的核心。 • 迭代Hash函数的构造方法 – 安全迭代函数E – 消息M划分成组M1 , M2 ,…, Mi ,…, Mt – 选定密钥为K, – H0为初始向量IV
HaSh函 Rabin法: Ho=iHEM H d i-l,,,t H(M)=H。 密码分组链接(CBC)法 HoIV:HFE(,Mi OH-d i=1, 2, H(M=Ht 密码反馈(CFB)法: H=E(K,H1:1M1),i=1,2,…,t;H(M)=Ht 2021/2/20 17
2021/2/20 17 Hash函数 • Rabin法: H0=IV; Hi=E(Mi , Hi-1 ) i=1,…,t; H(M)=Ht 。 密码分组链接(CBC)法: H0=IV;Hi=E(K, Mi Hi-1 ) i=1,2,…,t; H(M)=Ht 。 • 密码反馈(CFB)法: Hi=E(K, Hi-1Mi ),i=1, 2,…,t;H(M)=Ht
HaSh函 组合明密文链接法: M1=IV;H=E(k,M⊕M:1⊕H:1) i=1,2,,t;H(M)=H+1 修正 Daveis-Meyer法 H6=IV;HE(H1,M1,H1)(H和M共 同作为密钥) 2021/2/20 18
2021/2/20 18 Hash函数 组合明/密文链接法: Mt+1=IV;Hi=E(K,MiMi-1Hi-1 ) i=1, 2,…, t ;H(M)=Ht+1。 • 修正Daveis-Meyer法: H0=IV;Hi=E(Hi-1 , Mi , Hi-1 ) (Hi和Mi共 同作为密钥)
HaSh函 B. Preneel总结的下述12种基本方式构造 的分组迭代Hash函数。令E是迭代函数 它可以是一种分组加密算法,E(K,X) 是密钥,X是输入数据组或某种压缩算法 。令消息分组为M1,M,H=为初始 值。 HFEM;,HidoH -1 HFECH, MDEM H; H ECH1, M, DEM 2021/2/20 19
2021/2/20 19 Hash函数 B. Preneel总结的下述12种基本方式构造 的分组迭代Hash函数。令E是迭代函数, 它可以是一种分组加密算法,E(K, X),K 是密钥,X是输入数据组或某种压缩算法 。令消息分组为M1 ,…, Mi ,…, H0=I为初始 值。 – Hi=E(Mi , Hi-1 )Hi-1 – Hi=E(Hi-1 , Mi )MiHi-1 – Hi=E(Hi-1 , MiHi-1 )Mi
HaSh函 H=E(H1,M④H1)MH1 HFECH-1, MEM H=E(M;,M⊕H1)④MH HEM, H DEM OH; 1 H=E(M;M⊕H1)H1 H=E(M⊕H1,M)M; H=E(M OH1, H_ oH[Brown19901 H=E(M⊕H1,M)H11 H=E(M⊕H1,H1)④M1 2021/2/20 20
2021/2/20 20 Hash函数 – Hi=E(Hi-1 , MiHi-1 )MiHi-1 – Hi=E(Hi-1 , Mi )Mi – Hi=E(Mi , MiHi-1 )MiHi-1 – Hi=E(Mi , Hi-1 )MiHi-1 – Hi=E(Mi ,MiHi-1 )Hi-1 – Hi=E(MiHi-1 , Mi )Mi – Hi=E(MiHi-1 , Hi-1 ,)Hi-1 [Brown等1990] – Hi=E(MiHi-1 , Mi )Hi-1 – Hi=E(MiHi-1 , Hi-1 )Mi