title: Code d'authentification de message
text: # Code d'authentification de message
  
  Un code d'authentification de message (CAM), souvent désigné par son sigle anglais MAC (de message authentication code) est un code accompagnant des données dans le but d'assurer l'intégrité de ces dernières, en permettant de vérifier qu'elles n'ont subi aucune modification, après une transmission par exemple.
  
  Le concept est relativement semblable aux fonctions de hachage. Il s’agit ici aussi d’algorithmes qui créent un petit bloc authentificateur de taille fixe. La grande différence est que ce bloc authentificateur ne se base plus uniquement sur le message, mais également sur une clé secrète.
  
  Tout comme les fonctions de hachage, les MAC n’ont pas besoin d’être réversibles. En effet, le récepteur exécutera le même calcul sur le message et le comparera avec le MAC reçu.
  
  Le MAC assure non seulement une fonction de vérification de l'intégrité du message, comme le permettrait une simple fonction de hachage mais de plus authentifie l’expéditeur, détenteur de la clé secrète. Il peut également être employé comme un chiffrement supplémentaire (rare) et peut être calculé avant ou après le chiffrement principal, bien qu’il soit généralement conseillé de le faire après (Encrypt-then-MAC, on chiffre d'abord le message, puis on transmet le message chiffré ainsi que son MAC).
  
  