Skip to content

消息认证码

Message authentication code · MAC

用共享密钥生成并验证消息完整性标签的机制。

形式陈述

消息认证码方案由

(Gen,Tag,Vrfy)

组成。kGen(1λ),标签 tTagk(m),验证 Vrfyk(m,t){0,1}。正确性要求诚实生成的标签被接受。典型安全目标 EUF-CMA 要求:攻击者即使可自适应查询消息标签,也不能以非可忽略概率输出一个此前未查询消息 m 的有效标签 t

直觉

MAC 证明“知道共享密钥的一方认可了这条消息”,并检测传输后的篡改。它不隐藏消息内容,且双方都能生成标签,因此不能向第三方提供不可否认性。

例子与边界

标签 t=H(m) 不使用秘密密钥,任何人都能伪造,不是安全 MAC。把普通哈希直接写成 H(km) 也可能受具体哈希结构攻击;HMAC 等构造有专门分析。重放一条旧的合法 (m,t) 不一定违反基本 EUF-CMA,因为消息并非新鲜;防重放需序号、nonce 或协议状态。

推论与应用

MAC 用于消息完整性、协议认证和认证加密构造。安全结论依赖查询模型与伪造定义;强不可伪造还禁止为已查询消息产生新的有效标签,比普通 EUF-CMA 更强。

参考资料
  • Dan Boneh and Victor Shoup, A Graduate Course in Applied Cryptography, version 0.6, 2023,Chs. 6–7。
  • Jonathan Katz and Yehuda Lindell, Introduction to Modern Cryptography, 3rd ed., CRC Press, 2020,Ch. 4。