第五章消息认证算法 内容提要 95.1消息认证码 95.2杂凑函数 95.3MD5杂凑算法 95.4安全杂凑算法SHA 95.5SHA-3(Keccak算法)简介 5.6 HMAC 历粤花子代技大 21
内容提要 5.1 消息认证码 5.2 杂凑函数 5.3 MD5杂凑算法 5.4 安全杂凑算法SHA 5.5 SHA-3(Keccak算法)简介 5.6 HMAC 2/ 第五章 消息认证算法
第五章消息认证算法:5.1消息认证码 5.1消息认证码 消息认证的作用和含义: 消息认证用以验证接收消息的如下属性: 真实性(的确是由它所声称的实体发来的:消息源认证) 完整性(未被篡改、插入、删除) 消息的顺序性和时间性(未重排、重放、延迟) 。业务的不可否认性(即防止通信双方中的某一方对所传输消息 的否认) ·实现消息的不可否认性可通过数字签字,数字签字也是一种 认证技术,它也可用于抗击主动攻击 消息认证是抗主动攻击的关键技术 历粤毛子代枝大学 3/
5.1 消息认证码 消息认证的作用和含义: 消息认证用以验证接收消息的如下属性: ⚫ 真实性(的确是由它所声称的实体发来的:消息源认证) ⚫ 完整性(未被篡改、插入、删除) ⚫ 消息的顺序性和时间性(未重排、重放、延迟) ⚫ 业务的不可否认性(即防止通信双方中的某一方对所传输消息 的否认) ⚫ 实现消息的不可否认性可通过数字签字,数字签字也是一种 认证技术,它也可用于抗击主动攻击 消息认证是抗主动攻击的关键技术 3/ 第五章 消息认证算法:5.1 消息认证码
第五章消息认证算法:5.1消息认证码 5.1.1消息认证码的定义及使用方式 ·消息认证机制和数字签字机制需要有产生认证符的基本 功能 。这一基本功能又作为认证协议的一个组成部分 认证符是用于认证消息的数值,经过压缩函数计算而得 认证符的产生有两大类 ·消息认证码:MAC(Message Authentication Code) 。 杂凑函数(也称散列函数,hash function) 。消息认证码MAC指消息被一密钥控制的公开函数作用 后产生的、用作认证符的、固定长度的数值,也称为密 码校验和 ●此时需要通信双方A和B共享一密钥k 历些毛子代枚大学 4/
5.1.1 消息认证码的定义及使用方式 消息认证机制和数字签字机制需要有产生认证符的基本 功能 ⚫ 这一基本功能又作为认证协议的一个组成部分 ⚫ 认证符是用于认证消息的数值,经过压缩函数计算而得 ⚫ 认证符的产生有两大类 ⚫ 消息认证码:MAC(Message Authentication Code) ⚫ 杂凑函数(也称散列函数,hash function) 消息认证码MAC指消息被一密钥控制的公开函数作用 后产生的、用作认证符的、固定长度的数值,也称为密 码校验和 ⚫ 此时需要通信双方A和B共享一密钥k 4/ 第五章 消息认证算法:5.1 消息认证码
第五章消息认证算法:5.1消息认证码 5.1.1消息认证码的定义及使用方式 设A欲发送给B的消息是M,A首先计算MAC=C(M,其中C)是 密钥控制的公开函数,然后向B发送MMAC, 9 B收到后做与A相同的计算,求得一新MAC,并与收到的MAC做 比较,如图1(a)所示 发送方 接收方 MAC同时提供消 息的完整性和消息 比较 源认证 C(M) 攻击者不知道密钥所以 (a)消息认证 无法有效篡改消息,也 无法冒充 比较 图(a)只提供认证性 EK [MICK,(M)] K Ck (M) 图(b)的方式最常用 (b)认证性和保密性:对明文认证 Ex.[M] 加密密钥和认证密 钥分开最安全 比钗 CK (EK,[MD) (©)认证性和保密性:对密文认证
5.1.1 消息认证码的定义及使用方式 设A欲发送给B的消息是M,A首先计算MAC=CK(M),其中CK(·)是 密钥控制的公开函数,然后向B发送M‖MAC, B收到后做与A相同的计算,求得一新MAC,并与收到的MAC做 比较,如图1(a)所示 5/ 第五章 消息认证算法:5.1 消息认证码 MAC同时提供消 息的完整性和消息 源认证 攻击者不知道密钥所以 无法有效篡改消息,也 无法冒充 图(b)的方式最常用 图(a)只提供认证性 加密密钥和认证密 钥分开最安全
第五章消息认证算法:5.1消息认证码 5.1.1消息认证码的定义及使用方式 ·MAC算法与加密算法不同 MAC函数与加密算法的不同之处为MAC函数不必是可逆的,因 此与加密算法相比更不易被攻破 加密算法依赖于密钥长度,如果加密算法没有弱点,则敌手只 能使用穷搜索攻击,直到得到有意义的明文 加密密钥和认证密钥不同时安全性最高 如果二者相同,则对保密性的破译,同时也就是对认证性的破 译,这时有效密钥长度至多为一个密钥的长度。也可以把认证 和保密算法看成是单一密钥控制下的一个算法 因此加密密钥与认证密钥相同则实际上降低了总的安全性。 由MAC与加密算法的不同也可以看出,对加密密钥的破泽比对 消息认证码的破译要容易的多 历要荒子代枝七学 6/
5.1.1 消息认证码的定义及使用方式 MAC算法与加密算法不同 ⚫ MAC函数与加密算法的不同之处为MAC函数不必是可逆的,因 此与加密算法相比更不易被攻破 ⚫ 加密算法依赖于密钥长度,如果加密算法没有弱点,则敌手只 能使用穷搜索攻击,直到得到有意义的明文 加密密钥和认证密钥不同时安全性最高 ⚫ 如果二者相同,则对保密性的破译,同时也就是对认证性的破 译,这时有效密钥长度至多为一个密钥的长度。也可以把认证 和保密算法看成是单一密钥控制下的一个算法 ⚫ 因此加密密钥与认证密钥相同则实际上降低了总的安全性。 ⚫ 由MAC与加密算法的不同也可以看出,对加密密钥的破译比对 消息认证码的破译要容易的多 6/ 第五章 消息认证算法:5.1 消息认证码