En cryptographie, un CMAC (de l'anglais Cipher-based MAC) est un type de code d'authentification de message, (MAC) qui utilise en interne un algorithme de chiffrement, plutôt qu'une fonction de hachage.
Par exemple, pour assurer l'intégrité et l'authenticité d'un message en cours de chiffrement, il est potentiellement plus efficace d'utiliser les mêmes primitives pour construire le code résultant que de produire un HMAC.