第五章Hash函数与消息认 Hash函数概述 HaSh函数MD5 三、安全Hash算法SHA 四、基于分组密码与离散对数的Hash函数 五、消息认证 2021/2/20
2021/2/20 1 第五章 Hash函数与消息认证 一、 Hash函数概述 二、 Hash函数MD5 三、安全Hash算法SHA 四、基于分组密码与离散对数的Hash函数 五、消息认证
、Hash函数概述 萃大 2021/2/20
2021/2/20 2 一、 Hash函数概述
HaSh函 单向函数 函数(xA→B若满足下面两个条件,则 称为单向函数 对于任意x*∈A计算y=fx)是容易的, 其中y∈B。 对于x∈A,求y∈B使满足y=fx)是计 算上不可能的。 2021/2/20
2021/2/20 3 Hash函数 • 单向函数 函数f(x):A→B若满足下面两个条件,则 称为单向函数 – 对于任意x*∈A计算y=f(x)是容易的, 其中 y ∈B。 – 对于x∈A,求y∈B 使满足y=f(x)是计 算上不可能的
Hash函救 Hash函数 设H:将A映射到An,H满足: H是单向函数。 已知x,找x*∈A*,使旺(x)=Hx在计 算上是不可能的。 找一对x和x*,x≠x,使H(x)=H(x*) 在计算上也是不可能的。 H称为安全的Hash函数。 2021/2/20 4
2021/2/20 4 Hash函数 Hash函数 • 设H:将A*映射到An ,H满足: – H是单向函数。 – 已知 x, 找 x*∈A* ,使H (x)= H (x*)在计 算上是不可能的。 – 找一对 x 和 x* ,x ≠ x* ,使H (x)= H (x*) 在计算上也是不可能的。 H称为安全的Hash函数
Hash函救 Hash函数的分类 根据安全水平: 弱无碰撞:散列函数H称为是弱无碰撞 的,是指对给定消息,在计算上几乎 找不到异于x的x使H(x)=H(x*)。 强无碰撞:散列函数H被称为是强无碰 撞的,是指在计算上几乎不可能找到相 异的x,x*使得H(x)=H(x*)。 2021/2/20
2021/2/20 5 Hash函数 Hash函数的分类 根据安全水平: • 弱无碰撞:散列函数H称为是弱无碰撞 的,是指对给定消息 ,在计算上几乎 找不到异于x的x*使H (x)= H (x*) 。 • 强无碰撞:散列函数H被称为是强无碰 撞的,是指在计算上几乎不可能找到相 异的x ,x* 使得H (x)= H (x*)
Hash函救 Hash函数的分类 根据是否使用密钥 带秘密密钥的Hash函数消息的散列值由 只有通信双方知道的秘密密钥K来控制 。此时Hash值称作MAC 不带秘密密钥的Hash函数:消息的散列 值的产生无需使用密钥。此时Hash值称 作MDC。 2021/2/20 6
2021/2/20 6 Hash函数 Hash函数的分类 • 根据是否使用密钥 – 带秘密密钥的Hash函数:消息的散列值由 只有通信双方知道的秘密密钥K来控制 。此时Hash值称作MAC。 – 不带秘密密钥的Hash函数:消息的散列 值的产生无需使用密钥。此时Hash值称 作MDC
Hash函救 Hash函数的用途 ·消息的完整性检测 数字签名 无法显示该图片 2021/2/20
2021/2/20 7 Hash函数 Hash函数的用途 • 消息的完整性检测 • 数字签名
Hash函救 不安全信道 h(x) 相等 h 发送者对h(x) 接收者对y 进行加密 进行解密 不安全信道 2021/2/20
2021/2/20 8 Hash函数 h h 发送者对h(x) 进行加密 接收者对y 进行解密 不安全信道 不安全信道 x x y x y h(x) h(x) h(x) 相等?
Hash函救 使用Hash函数进行数字签名的好处 ·提高数字签名的速度。 ·无需泄露签名所对应的消息,可将签名 泄露,如对消息x的签名是Sigx),其 z=H(x)可将(zy)公开,而保密x 可将签名变换和加密变换分开,可以在 OS的不同层提供消息的完整性和机密 性 2021/2/20
2021/2/20 9 Hash函数 使用Hash函数进行数字签名的好处 • 提高数字签名的速度。 • 无需泄露签名所对应的消息,可将签名 泄露,如对消息x的签名是Sig(x),其 z=H(x)可将(z,y)公开,而保密x。 • 可将签名变换和加密变换分开,可以在 OSI的不同层提供消息的完整性和机密 性
Hash函救 Hash函数的安全性:Hash函数的安全性取 决于其抗击各种攻击的能力,对手的目标是 找到两个不同消息映射为同一杂Hash值。 般假定对手知道Hash算法,采用选择明文攻 击法。 2021/2/20 10
2021/2/20 10 Hash函数 Hash函数的安全性:Hash函数的安全性取 决于其抗击各种攻击的能力,对手的目标是 找到两个不同消息映射为同一杂Hash值。一 般假定对手知道Hash算法,采用选择明文攻 击法