车衣 本章要点 15 。所有安全散列函数都有图11.9所示的一般结构 。安全散列函数里用到的压缩函数可以分为两类: 专为散列函数设计的函数或对称分组密码。安全 散列算法(SHA)和Whirlpool分别是这两种方法的 例子。 ·消息认证码也可分为两类:使用安全散列算法和 使用对称分组密码。HMAC和CMAC分别是这两 种方法的例子。 2022/10/9 现代密码学理论与实践-12 2/45
2022/10/9 现代密码学理论与实践-12 2/45 本章要点 ⚫ 所有安全散列函数都有图11.9所示的一般结构 ⚫ 安全散列函数里用到的压缩函数可以分为两类: 专为散列函数设计的函数或对称分组密码。安全 散列算法(SHA)和Whirlpool分别是这两种方法的 例子。 ⚫ 消息认证码也可分为两类:使用安全散列算法和 使用对称分组密码。HMAC和CMAC分别是这两 种方法的例子
12.1安全散列算法 安全散列算法SHA是由美国标准与技术协会NIST设讦, 并于1993作为联邦标准FIPS180发布,1995年修订为 FIPS180-1,即SHA-1,算法是SHA,标准是SHS SHA算法建立在MD4算法之上,基本框架与MD4类似 ● SHA-1产生160位散列值,以后的修订版分别为SHA 256,SHA-384,SHA-512,与SHA-1有相同的基础结构 0 2005年王晓云在Crypto05会议上发表Finding Collisions in the Full SHA-1,宣布了一种攻击方法,用 269次操作找到两个独立的消息具有相同散列值 NIST随即宣布废弃SHA-1的意图,到2010年转用其他 版本的SHA 2022/10/9 现代密码学理论与实践-12 3/45
2022/10/9 现代密码学理论与实践-12 3/45 12.1 安全散列算法 ⚫ 安全散列算法SHA是由美国标准与技术协会 NIST设计, 并于1993作为联邦标准FIPS180发布, 1995年修订为 FIPS180-1, 即SHA-1, 算法是SHA, 标准是SHS ⚫ SHA算法建立在MD4算法之上,基本框架与MD4类似 ⚫ SHA-1产生160位散列值,以后的修订版分别为SHA- 256, SHA-384, SHA-512, 与SHA-1有相同的基础结构 ⚫ 2005年王晓云在Crypto05会议上发表Finding Collisions in the Full SHA-1, 宣布了一种攻击方法,用 2 69次操作找到两个独立的消息具有相同散列值 ⚫ NIST随即宣布废弃SHA-1的意图,到2010年转用其他 版本的SHA
少因海冷长大 SHA参数比较 105 Table 12.1 Comparison of SHA Parameters SHA-1 SHA-256 SHA-384 SHA-512 Message digest size 160 256 384 512 Message size <264 <264 <2128 <2128 Block size 512 512 1024 1024 Word size 32 32 64 64 Number of steps 80 64 80 80 Security 80 128 192 256 Notes:1.All sizes are measured in bits. 2.Security refers to the fact that a birthday attack on a message digest of size n produces a collision with a workfactor of approximately 22. 2022/10/9 现代密码学理论与实践-12 4/45
2022/10/9 现代密码学理论与实践-12 4/45 SHA参数比较
安全散列标准SHS之SHA-1 15 概述 由美国NIST提出,SHS(Secure Hash Standard),算法为SHA。 ● 要求输入小于264位,输出为160位(5个寄存器,A,B,C,D,E)。 将明文分成若干512位的定长块,每一块与当前的信息摘要值 结合,产生信息摘要的下一个中间结果,直到处理完毕。共扫 描5遍,效率略低于MD5,强度略高。 ● 基本算法 ●初值:A=67452301;B=EFCDAB89;C=98 BADCFE; D=10325476;E=C3D2E1F0 A、B、C、D、E分别被复制到AA、BB、CC、DD、EE,进行 四回合迭代,每回合20步运算,每一步运算对A、B、C、D、 E中的三个寄存器进行非线性操作,然后移位。每回合有一个 常数k。 2022/10/9 现代密码学理论与实践-12 5/45
2022/10/9 现代密码学理论与实践-12 5/45 ⚫ 概述 ⚫ 由美国NIST提出, SHS(Secure Hash Standard), 算法为SHA。 ⚫ 要求输入小于2 64位,输出为160位(5个寄存器,A, B, C, D, E)。 将明文分成若干512位的定长块,每一块与当前的信息摘要值 结合,产生信息摘要的下一个中间结果,直到处理完毕。共扫 描5遍,效率略低于MD5,强度略高。 ⚫ 基本算法 ⚫ 初值:A = 67452301; B = EFCDAB89; C = 98BADCFE; D = 10325476; E = C3D2E1F0 ⚫ A、B、C、D、E分别被复制到AA、BB、CC、DD、EE,进行 四回合迭代,每回合20步运算,每一步运算对A、B、C、D、 E中的三个寄存器进行非线性操作,然后移位。每回合有一个 常数k。 安全散列标准SHS之SHA-1
SHA-1的逻辑运算 少国海车线K才 回合 Kt Ft(B,C,D) 0<=t<=19 5A827999 (B.C)V(B-iD) 20<=t<=39 6ED9EBA1 B⊕C⊕D 40<=t<=59 8F1BBCDC (B●C)v(BD)v(CD) 60<=t<=79 CA62C1D6 B⊕C⊕D 2022/10/9 现代密码学理论与实践-12 6145
2022/10/9 现代密码学理论与实践-12 6/45 SHA-1的逻辑运算 回合 Kt Ft(B, C, D) 0 <= t <= 19 5A827999 (B•C) (B-1•D) 20 <= t <= 39 6ED9EBA1 BCD 40 <= t <= 59 8F1BBCDC (B•C) (B•D) (C•D) 60 <= t <= 79 CA62C1D6 BCD