第五章Hash函数与消息认 Hash函数概述 HaSh函数MD5 三、安全Hash算法SHA 四、基于分组密码与离散对数的Hash函数 五、消息认证 2021/2/20
2021/2/20 1 第五章 Hash函数与消息认证 一、 Hash函数概述 二、 Hash函数MD5 三、安全Hash算法SHA 四、基于分组密码与离散对数的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函救 不安全信道 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) 相等?