Hash函救 对Hash函数的基本攻击方法 穷举攻击法:给定H=H(Hl2M),其中H为 初值,攻击者在所有可能的M中寻求有利于 攻击者的M,使H(H,M)=H(H,M),由于 限定了目标H(H1,M来寻找H(H,M),这种 攻击法称为目标攻击。若对算法的初值I不 限定,使其H(,M)等于H(H,M),则称这 种攻击法为自由起始目标攻击。 2021/2/20
2021/2/20 11 Hash函数 对Hash函数的基本攻击方法 • 穷举攻击法:给定H=H(H0 , M),其中H0为 初值,攻击者在所有可能的M中寻求有利于 攻击者的M’ ,使H(H0 , M’ )=H(H0 , M),由于 限定了目标H(H0 , M)来寻找H(H0 , M’ ),这种 攻击法称为目标攻击。若对算法的初值H0不 限定,使其H(H0 , M)等于H(H0 , M’ ),则称这 种攻击法为自由起始目标攻击
Hash函救 对Hash函数的基本攻击方法 生日攻击:这种攻击法不涉及Hash算法的 结构,可用于攻击任何Hash算法。强无碰撞 函数正是基于生日悖论一类的攻击法定义的 。穷举和生日攻击都属选择明文攻击。生日 攻击给定初值H。寻找M≠M 使H(H,M)=H(HM),也可对初始值H不 加限制,即寻找H,M使满足h(H, M)=h(H0,M) 2021/2/20 12
2021/2/20 12 Hash函数 对Hash函数的基本攻击方法 • 生日攻击:这种攻击法不涉及Hash算法的 结构,可用于攻击任何Hash算法。强无碰撞 函数正是基于生日悖论一类的攻击法定义的 。穷举和生日攻击都属选择明文攻击。生日 攻击给定初值 H0 寻 找 MM’ , 使H(H0 , M’ )=H(H0 , M),也可对初始值H0不 加限制 , 即 寻 找 H0 ’ , M’ 使 满 足 h(H0 ’ , M’ )=h(H0 , M)
Hash函救 生日悖论 在一个会场参加会议的人中,找一个与某人 生日相同的概率超过0.5时,所需参会人员为 183人。但要问使参会人员中至少有两个同日 生的概率超过0.5的参会人数仅为23人。这是 因为,对于与某个已知生日的人同日生的概 率为1365,若房中有人,则至少找到一人与 此人同日生的概率为。易于解出当≥183时可 使p>0.5。 2021/2/20 13
2021/2/20 13 Hash函数 生日悖论 在一个会场参加会议的人中,找一个与某人 生日相同的概率超过0.5时,所需参会人员为 183人。但要问使参会人员中至少有两个同日 生的概率超过0.5的参会人数仅为23人。这是 因为,对于与某个已知生日的人同日生的概 率为1/365,若房中有t人,则至少找到一人与 此人同日生的概率为。易于解出当t183时可 使p>0.5
HaSh函 Hash函数的迭代构造 将不限定长度的输入数据压缩成定长输出的 Hash值过程: 将输入数字串划分成固定长的段如m比特段 将此m比特映射成n比特,称完成此映射的 函数为迭代函数。 对一段m比特输入做类似映射,以此类推, 直到全部输入数字串完全做完,以最后的输 出值作为整个输入的Hash值。 2021/2/20 14
2021/2/20 14 Hash函数 Hash函数的迭代构造 将不限定长度的输入数据压缩成定长输出的 Hash值过程: – 将输入数字串划分成固定长的段如m比特段 – 将此m比特映射成n比特,称完成此映射的 函数为迭代函数。 – 对一段m比特输入做类似映射,以此类推, 直到全部输入数字串完全做完,以最后的输 出值作为整个输入的Hash值
HaSh函 将mb到nbi的分组映射或迭代函数的三 种选择 m>n。有数据压缩,例如:MD4、MD5 SHA等算法。是不可逆映射。 m=n。无数据压缩,亦无数据扩展,通 常分组密码采用这类。 m<n。有数据扩展的映射。认证码属 于此类。 2021/2/20 15
2021/2/20 15 Hash函数 将m bit到n bit的分组映射或迭代函数的三 种选择 • m>n。有数据压缩,例如:MD4、MD5 SHA等算法。是不可逆映射。 • m=n。无数据压缩,亦无数据扩展,通 常分组密码采用这类。 • m<n。有数据扩展的映射。认证码属 于此类