CBC-MAC

Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.
Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.

Cet article ne cite pas suffisamment ses sources ().

Si vous disposez d'ouvrages ou d'articles de référence ou si vous connaissez des sites web de qualité traitant du thème abordé ici, merci de compléter l'article en donnant les références utiles à sa vérifiabilité et en les liant à la section « Notes et références ».

En pratique : Quelles sources sont attendues ? Comment ajouter mes sources ?

Schema du CBC-MAC

CBC-MAC est l'un des algorithmes pour les codes d'authentification de message (MAC). Il est basé sur un chiffrement par bloc utilisé selon un mode d'opération CBC (cipher block chaining). Ce principe a été formulé en 1985 dans un standard du NIST (FIPS PUB 113, Standard on Computer Data Authentication).

Pour chiffrer, on découpe les données en blocs de taille adéquate (selon le chiffrement par bloc utilisé, au minimum un chiffrement par bloc de 32 bits). Les blocs sont chiffrés les uns après les autres, le résultat chiffré du bloc précédent est transmis au bloc suivant.

Description formelle

Soit E k ( M i ) {\displaystyle E_{k}(M_{i})} l'opération de chiffrement sur un bloc de données M i   {\displaystyle M_{i}~} avec la clé k   {\displaystyle k~} .

Le chiffrement se fait comme suit :

  1. on découpe les données en blocs de taille fixe M 0 , . . . , M n 1   {\displaystyle M_{0},...,M_{n-1}~} avec un remplissage selon la norme PKCS #7 pour le dernier bloc
  2. on définit un vecteur d'initialisation C 0 = 0   {\displaystyle C_{0}=0~}
  3. on traite les blocs au fur et à mesure : C i + 1 = E k ( C i M i + 1 ) {\displaystyle C_{i+1}=E_{k}(C_{i}\oplus M_{i+1})}

Le code d'authentification correspond à une partie du dernier bloc chiffré C n 1 {\displaystyle C_{n-1}} (extraction de 16 à 64 bits dans le standard du NIST).

Sécurité

Une attaque décrite par Preneel et Van Oorschot nécessite environ 2 n / 2 {\displaystyle 2^{n/2}} textes connus accompagnés de leurs codes d'authentification (n est la longueur du bloc en bits), elle permet de forger des codes d'authentification. CBC-MAC n'est pas sûr avec des messages de taille variable. Pour ces raisons, il est recommandé d'utiliser XCBC-MAC si un système basé sur un MAC itératif est désiré.

Notes et références

Annexes

Articles connexes

Liens externes

  • (en) Spécifications dans FIPS PUB 113
  • (en) The security of cipher block chaining, M. Bellare, R. Guérin et P. Rogaway
  • icône décorative Portail de la cryptologie