CBC-MAC
Un código de autenticación de mensajes basado en el modo CBC que solo es seguro para mensajes de longitud fija.
CBC-MAC pasa el mensaje por un cifrado de bloques en modo CBC y conserva solo el último bloque como etiqueta. La construcción es sencilla y se usó durante años en estándares como ISO/IEC 9797-1. Tiene un fallo serio: si los mensajes pueden tener longitudes distintas, un atacante que ha visto una etiqueta válida puede a menudo falsificar otra para un mensaje más largo.
La solución es CMAC, especificado en NIST SP 800-38B, que añade una transformación final dependiente de la clave y maneja longitudes variables de forma segura.