5.3 消息认证码
学习目标:
1.掌握消息认证码的概念。
2.理解消息认证码的基本原理。
3.理解MAC函数和加密函数的区别和相同点。
4.了解为什么需要专门的MAC函数提供认证。
5.掌握消息认证码的两种攻击方法。
6.了解基于DES的消息认证码。
学习内容:
1.消息认证码:一种认证技术,它把秘钥和需要认证的消息带入一个MAC函数,输出一个固定长度的短数据块。这个数据块称为MAC或者密码校验和。

2.消息认证码的基本原理:接收端根据通信双方共享的秘钥K,接收到的消息以及MAC函数重新计算MAC,如果重新计算的MAC和收到的MAC相同,说明消息的完整性没有破坏。

3.MAC函数和加密函数的区别和联系:
相同点:都需要明文、秘钥和算法的参与
不同点:(1)MAC函数不要求可逆性,加密算法必须可逆。(2)认证函数比加密函数更不易被攻破。(3)加密函数的明文和密文是一对一的。认证函数的消息和MAC则是多对一的。
4.认证和加密可以综合使用:


5.专门设计MAC函数的原因:(1)加密提供的是机密性而非真实性(2)加密计算的代价大,特别是当信息内容较长时。(3)认证函数和加密函数的分离能提供功能上的灵活性。
6.消息认证码的安全性分析:与加密体制不一样,
攻击秘钥:找到计算MAC的秘钥
攻击算法:利用MAC函数的缺陷实现攻击,所以对MAC函数的设计要遵循一定的原则。
7. 基于DES的消息认证码:使用最广泛的消息认证码,并被ANSI作为X9.17标准。
观看课件:
注意点:
消息认证码、MAC函数;加密体制、加密算法。
课后练习:
1.消息认证码和加密体制的异同点。

