、HASH函数的概念 2、Hash函数的定义 ③安全性: 抗弱碰撞性:对任何给定的x,找到满足y≠x 且H(x)-(y)的在计算上是不可行的。 否则,政击者可以截获报文M及其Hah图 数值H(M,并找出另一报文M使得 HM=H(M。这样攻击者可用M去冒充M, 而收方不能发现。 抗强碰撞性:找到任何满足H(x)=(y)的偶对 (,y)在计算上是不可行的
一、HASH函数的概念 2、Hash函数的定义 ③安全性: • 抗弱碰撞性:对任何给定的x,找到满足y≠x 且H(x)=H(y)的 )=H(y)的y在计算上是不可行的 在计算上是不可行的。 否则,攻击者可以截获报文 攻击者可以截获报文M及其Hash函 数 值 H(M) , 并找出另一报文 M′ 使 得 H(M′)=H(M)。这样攻击者可用 这样攻击者可用M′去冒充M, 而收方不能发现 而收方不能发现。 • 抗强碰撞性:找到任何满足H(x)=H(y)的偶对 (x,y)在计算上是不可行的 在计算上是不可行的
HASH函数的概念 3、安全Hash函数的一般结构 Merkle提出了安全Hash函数主处理的一般结构 。对数据压缩,产生Hash码。 M M b位 b位 b位 n位fn位fn位fn位 HASH值 IV=CVO CV CVI b位分组,为压缩函数,L轮链接迭代,n位输出
一、HASH函数的概念 3、安全Hash函数的一般结构 函数的一般结构 • Merkle提出了安全Hash函数主处理的一般结构 函数主处理的一般结构 • 对数据压缩,产生Hash码。 b位分组,f为压缩函数,L轮链接迭代,n位输出。 f f f M0 M1 ML-1 b位 b位 b位 n位 n位 n位 n位 IV=CV0 CV1 CVL-1 HASH值 CVL
、HASH函数的概念 3、安全Hash函数的一般结构 分组:将输入分机-1个大小为位的分组。 填充:若第-1个分组不足b位,则将其填充为 b位。 附加:再附加上一个表示输入的总长度分组。 共L个大小为位的分组 天输入中包含长度,所以走者必须找出具 有相长度相等的两条技又,或若找 出两条长度不等但加入报文长度后Hs值相同 的报文,从而增加了政击的难度。 。目前大多数Hash函数均采用这种结构
一、HASH函数的概念 3、安全Hash函数的一般结构 函数的一般结构 • 分组:将输入分为L-1个大小为b位的分组。 • 填充:若第L-1个分组不足b位,则将其填充为 b位。 • 附加:再附加上一个表示输入的总长度分组。 • 共L个大小为b位的分组。 • 由于输入中包含长度 由于输入中包含长度,所以攻击者必须找出具 所以攻击者必须找出具 有相同Hash值且长度相等的两条报文 值且长度相等的两条报文,或者找 出两条长度不等但加入报文长度后Hash值相同 的报文,从而增加了攻击的难度 从而增加了攻击的难度。 • 目前大多数Hash函数均采用这种结构
、 SHA-1 HASHI函数 、SHA系列Hash函数 SHA系列Bash函数是由美国标准与技术研究所NST 设计的。 1993年公布了SHA-0 FIPS PUB180),后来发现它不 安全。 1995年又公布了SHA-1( FIIPSPUBI801)。 2002年又么布了SHA2( FIPSPUB180-2)。 SHA-2包括3个函数:SHA-256,SHA-384, SHA-512 2005年王小云给出一种项击HA4-1的方法,用26操作 找到一个碰撞,以前认为是280。 NST打算2010年废充HA-1
二、SHA-1 HASH函数 1、 SHA系列Hash函数 • SHA系列Hash函数是由美国标准与技术研究所(NIST) 设计的。 • 1993年公布了SHA-0(FIPS PUB 180),后来发现它不 安全。 • 1995年又公布了SHA-1(FIPS PUB 180-1)。 • 2002年又公布了SHA-2(FIPS PUB 180-2)。 SHA-2包括3个Hash函数: SHA-256, SHA-384, SHA-512 • 2005年王小云给出一种攻击SHA-1的方法,用269操作 找到一个碰撞,以前认为是280。 • NIST打算2010年废弃SHA-1
、 SHA-1 HASHI函数 1、SHA系列Hash函数 SHA-1是在MD5的基础上发展起来的。 它米用 Merkle提出了安全Hash结构。已 被美国政府和许多国际组织采纳作为标 准。 SHA-1的输入为长度小于24位的报文, 输出为160位的报文摘要,该算法对输入 按512位进行分组,并以分组为单位进行 处理
二、SHA-1 HASH函数 1、 SHA系列Hash函数 • SHA-1是在MD5的基础上发展起来的 的基础上发展起来的。 它采用Merkle提出了安全Hash结构。已 被美国政府和许多国际组织采纳作为标 准。 • SHA-1的输入为长度小于264位的报文, 输出为160位的报文摘要,该算法对输入 按512位进行分组,并以分组为单位进行 并以分组为单位进行 处理