CBC-MAC
Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Un MAC (Message Authentication Code) accompagnant des données a pour objet 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.

CBC-MAC (Un MAC (Message Authentication Code) accompagnant des données a pour objet d'assurer l'intégrité de ces dernières, en permettant de vérifier qu'elles n'ont subi...) est l'un des algorithmes de MAC. Il est basé sur un chiffrement (En cryptographie, le chiffrement (parfois appelé à tort cryptage) est le procédé grâce auquel on peut rendre la compréhension d'un document impossible à toute personne qui n'a pas la clé de (dé)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 (Dans les technologies de l'information (TI), une donnée est une description élémentaire, souvent codée, d'une chose, d'une transaction d'affaire, d'un événement, etc.) 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 Ek(Mi) l'opération de chiffrement sur un bloc de données M_i~ avec la clé k~.

Le chiffrement se fait comme suit :

  1. on découpe les données en blocs de taille fixe M_0, ..., M_{n-1}~ avec un remplissage selon la norme (Une norme, du latin norma (« équerre, règle ») désigne un état habituellement répandu ou moyen considéré le plus souvent comme une règle à...) PKCS (Les PKCS (Public Key Cryptographic Standards), ou standards de cryptographie à clé publique, sont un ensemble de spécifications conçues par les laboratoires RSA en...) #7 pour le dernier bloc
  2. on définit un vecteur (En mathématiques, un vecteur est un élément d'un espace vectoriel, ce qui permet d'effectuer des opérations d'addition et de multiplication par un scalaire....) d'initialisation C_0 = 0~
  3. on traite les blocs au fur : C_{i+1} = E_k(C_i \oplus M_i)

Le code d'authentification (L'authentification est la procédure qui consiste, pour un système informatique, à vérifier l'identité d'une entité (personne,...) correspond à une partie du dernier bloc chiffré Cn − 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 2n/2 textes connus accompagnés de leurs codes d'authentification (n est la longueur (La longueur d’un objet est la distance entre ses deux extrémités les plus éloignées. Lorsque l’objet est filiforme ou en forme de lacet, sa longueur est celle de l’objet...) 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 (En mathématiques et en logique, une variable est représentée par un symbole. Elle est utilisée pour marquer un rôle dans une...). Pour ces raisons, il est recommandé d'utiliser XCBC-MAC si un système basé sur un MAC itératif est désiré.

Page générée en 0.067 seconde(s) - site hébergé chez Amen
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
Ce site est édité par Techno-Science.net - A propos - Informations légales
Partenaire: HD-Numérique