消息认证和杂凑算法 ■消息认证用于抗击主动攻击 ■验证接收消息的真实性和完整性 ■真实性 的确是由所声称的实体发过来的 ■完整性 ■来被篡改、插入和删除 ■验证消息的顺序性和时间性(未重排 重放和更迟) 2021/2/21
2021/2/21 2 消息认证和杂凑算法 ◼ 消息认证用于抗击主动攻击 ◼ 验证接收消息的真实性和完整性 ◼ 真实性 ◼ 的确是由所声称的实体发过来的 ◼ 完整性 ◼ 未被篡改、插入和删除 ◼ 验证消息的顺序性和时间性(未重排、 重放和延迟)
消息认证码(MAC) Message authenticaion Code 2021/2/21
2021/2/21 3 消息认证码(MAC) Message Authenticaion Code
消息认证码的定义和使用方式 ■消息被一密钥控制的公开函教作用后产 生的、用于认证符的、圄定长度的教值, 也称为蜜码校验和 1.接收方相信 通信双方共享密钥K 发送方发来 的消息未受 篡改。 M M K比较2.接收方相信 发送方不是 冒充的 K 消息认证 2021/2/21
2021/2/21 4 消息认证码的定义和使用方式 ◼ 消息被一密钥控制的公开函数作用后产 生的、用于认证符的、固定长度的数值, 也称为密码校验和。 ◼ 通信双方共享密钥K M || C K M CK(M) C K 比较 消息认证 1. 接收方相信 发送方发来 的消息未受 篡改。 2. 接收方相信 发送方不是 冒充的
消息认证码的定义和使用方式 ■认证性和保密性-对明文认证 M M 比较 2 Ek,[M‖Ck,(M) 2021/2/21 5
2021/2/21 5 消息认证码的定义和使用方式 ◼ 认证性和保密性-对明文认证 M || C K1 C M CK(M) K1 比较 E K2 [ || ( )] EK2 M CK1 M D K2
消息认证码的定义和使用方式 认证性和保密性-对密文认证 M 比较K2 K K CK. (MI 2021/2/21 6
2021/2/21 6 消息认证码的定义和使用方式 ◼ 认证性和保密性-对密文认证 M || C K1 C K1 比较 E K2 [ ( )] CK1 EK2 M D K2
产生MAC函数应满足的要求 产生MAC的函教一般为多到1映射。nbit长的MAC共有 2n个可能的取值,可能的消息数远大于2。 密钥长度为kbt,可能的密钥数为2k。 敌手可获得明文和MAC敌手可穷举攻击密钥。如果 k>n,很多密钥.(2k个)可产生相同的MAC,敌手无法确 定,还需要在这2k个密钥中辚续试验。 对消息认证码的穷举攻击代价大于攻击加密算法。 敌手有可能不直接攻击密钥,而伪造能够通过检验的 MAC和M。 2021/2/21
2021/2/21 7 产生MAC函数应满足的要求 ◼ 产生MAC的函数一般为多到1映射。nbit长的MAC共有 2 n个可能的取值,可能的消息数远大于2 n 。 ◼ 密钥长度为kbit,可能的密钥数为2 k 。 ◼ 敌手可获得明文和MAC,敌手可穷举攻击密钥。如果 k>n,很多密钥.(2k-n个)可产生相同的MAC,敌手无法确 定,还需要在这2 k-n个密钥中继续试验。 ◼ 对消息认证码的穷举攻击代价大于攻击加密算法。 ◼ 敌手有可能不直接攻击密钥,而伪造能够通过检验的 MAC和M
产生MAC函数应满足的要求 假定敌手知道函数C,不知道K ■如果敌手得到M和CkM),则构造一满足 CK(M")=CkM)的新峭息在计算上不可行 "CK(M)在以下意义下是均勺分布的:随机 选两个MM,Pr[CK(M)=CK(M)]=2 若M是M的某个变换 Pr[CK(M)=CK(M)]=2 2021/2/21
2021/2/21 8 产生MAC函数应满足的要求 ◼ 假定敌手知道函数C,不知道K ◼ 如果敌手得到M和CK (M),则构造一满足 CK (M’)= CK (M)的新消息在计算上不可行 ◼ CK (M)在以下意义下是均匀分布的:随机 选两个M,M’,Pr[CK (M)=CK (M’)]=2-n ◼ 若M’是M的某个变换, Pr[CK (M)=CK (M’)]=2-n
CBC-MAC ■基于CBC模式的DES算法,初始向量取为 次 第2次 第N次 D 2 N-1 K DES加密 K DES加密 K DES加密 2 2021/2/21
2021/2/21 9 CBC-MAC ◼ 基于CBC模式的DES算法,初始向量取为 零。 D1 DES加密 O1 K 第1次 D2 DES加密 O2 K 第2次 + D2 DES加密 ON K 第N次 + ON-1
杂凑函数 Hash functions 2021/2/21
2021/2/21 10 杂凑函数 Hash Functions
杂凑函数的定义 杂凑函数H是一个公开函数,将任意长的 消息映射为较短的、固定长度的一个值 H(M ■H(M)称为杂凑值、峭息摘要,是消息中 所有bit的函数,提供了错误检测的能力 2021/2/21
2021/2/21 11 杂凑函数的定义 ◼ 杂凑函数H是一个公开函数,将任意长的 消息映射为较短的、固定长度的一个值 H(M) ◼ H(M)称为杂凑值、消息摘要,是消息中 所有bit的函数,提供了错误检测的能力