Definition
Message Authentication Code
A message authentication code (MAC) is a cryptographic mechanism used to guarantee the integrity and authenticity of a message. It requires a shared secret key for generation and verification.
Constructions
CBC-MAC
Based on block cipher encryption in CBC mode with a null initialisation vector. The MAC is the block resulting from the last encryption. Secure only for fixed-length messages.
Encrypted CBC-MAC
A variation of CBC-MAC in which the encryption of the last block (the MAC of the CBC-MAC scheme) is encrypted under a different key. Can be securely used with variable-length messages.
HMAC
A MAC based on a hash function and a secret key.