深入理解消息认证码(MACs)
1 引言
在现代信息安全体系中,消息认证码(Message Authentication Codes, MACs)扮演着至关重要的角色。它们不仅用于验证消息的真实性和完整性,还能够在某些情况下确保消息的来源可信。与数字签名不同,MACs依赖于共享的秘密密钥,这意味着发送者和接收者必须预先共享一个密钥。这使得MACs在效率上优于数字签名,但在某些应用场景中,也限制了它们的功能,例如无法提供不可否认性服务。
MACs的核心思想是通过一个秘密参数(例如,秘密密钥)计算和验证一个认证标签。在实际应用中,发送者使用密钥生成MAC,并将其附加到消息中;接收者使用相同的密钥验证MAC,从而确保消息的真实性和完整性。这种机制在保护敏感信息方面非常有效,尤其是在网络通信中。
2 计算上安全的消息认证码
2.1 使用对称加密系统的MACs
对称加密系统是一种常用的MAC生成方法。其基本原理是在消息的加密过程中生成一个额外的认证标签。具体步骤如下:
- 发送者使用对称加密算法(如DES或AES)加密消息。
- 加密后的最后一个密文块被用作MAC。
- 发送者将消息和MAC一起发送给接收者。
- 接收者使用相同的密钥解密消息,并验证最后一个密文块是否与收到的MAC一致。
这种方法的一个典型应用是CBC模式下的MAC(CBC MAC)。CBC MAC通过链式加密模式生成认证标签,确保消息的完整性和真实性。以下是CBC MAC的构造示例:
超级会员免费看
订阅专栏 解锁全文
37

被折叠的 条评论
为什么被折叠?



