Podemos distinguir dos tipos de funciones: las que tienen como objetivo principal verificar la integridad, a las que se llaman Códigos de detección de modificaciones, y las que tienen como objetivo principal la autenticación del origen del mensaje, a las que se llaman Códigos de autenticación de mensajes.Estos nombres no son muy correctos ya que estas funciones no son códigos y además ambos tipos permiten la autenticación de mensajes.