Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 750

消息认证码(MAC)

审核人Cybersecurity entrepreneur & security researcher

消息认证码(MAC) 是什么?

消息认证码(MAC)使用对称密钥计算的短标签,用于对消息进行认证并检测篡改,计算与验证使用同一个共享密钥。


消息认证码(Message Authentication Code,MAC)是对消息使用对称密钥计算得到的定长标签,验证时必须使用相同的密钥。它提供完整性与真实性,但因为双方共享同一密钥,无法提供不可否认性。常见构造包括 HMAC(基于哈希,RFC 2104)、CMAC(CBC-MAC,NIST SP 800-38B)、GMAC(用于 GCM)、Poly1305(与 ChaCha20 组合形成 ChaCha20-Poly1305)以及基于 Keccak/SHA-3 的 KMAC。MAC 是 TLS 记录认证、IPsec AH、JWT HS256、API 请求签名以及各类 AEAD 模式的核心组件,标签比较必须采用常数时间方式以避免时序侧信道。

示例

  1. 01

    AWS Signature Version 4 请求采用 HMAC-SHA-256 进行认证。

  2. 02

    TLS 1.3 中使用的 ChaCha20-Poly1305 AEAD 通过 Poly1305 对密文进行认证。

常见问题

消息认证码(MAC) 是什么?

使用对称密钥计算的短标签,用于对消息进行认证并检测篡改,计算与验证使用同一个共享密钥。 它属于网络安全的 密码学 分类。

消息认证码(MAC) 是什么意思?

使用对称密钥计算的短标签,用于对消息进行认证并检测篡改,计算与验证使用同一个共享密钥。

如何防御 消息认证码(MAC)?

针对 消息认证码(MAC) 的防御通常结合技术控制与运营实践,详见上方完整定义。

消息认证码(MAC) 还有哪些其他名称?

常见的别称包括: MAC, 密码学校验值。

相关术语