It is a combination of a secret key and a hash function that ensures both integrity and authenticity of a message.