AES - Kasimashi/Systemes-embarques GitHub Wiki

AES

Advanced Encryption Standard ou AES aussi connu sous le nom de Rijndael, est un algorithme de chiffrement symétrique.

L'algorithme Rijndael a été conçu par Joan Daemen et Vincent Rijmen, deux chercheurs belges, dans le but de devenir un candidat à l'Advanced Encryption Standard (AES) du NIST.

image

Le chiffrement utilise une longueur de blocs variable, une longueur de clé variable et un nombre de rondes variable. En revanche, Rijndael version « AES » est restreint à des longueurs de clé de 128, 192 et 256 bits avec une longueur de bloc fixée à 128 bits.

On distingue plusieurs modes pour l'AES :

  • CBC
  • ECB
  • CTR (Counter)

Critères

Trois critères principaux ont été respectés dans sa conception :

  • Résistance à toutes les attaques connues.
  • Rapidité du code sur la plus grande variété de plates-formes (logicielles et matérielles) possible.
  • Simplicité dans la conception.

AES-ECB

L'implémentation ECB (Electronic codebook) est la plus simple et permet de chiffrer les données par bloc de 16 octets. Le résultat est également un bloc de 16 octets. Chaque bloc de données est indépendant et peut être traité séparément. Comme le montre la figure ci-dessous : celle-ci n'a besoin que d'une clé de chiffrement et de déchiffrement pour fonctionner.

image

AES-CBC

Le mode CBC (Cipher block chaining) nécessite également un vecteur d'initialisation. Mais fonctionne sur le même principe que la ECB. Il diffère cependant sur le fait que la sortie est bouclée avec l'entrée et que l'IV change à chaque tour de boucle. Cela garantit une sécurité supplémentaire pour le cryptage des données.

image