Comment fonctionne l’algorithme de chiffrement Rijndael ?

Également connu sous l’abréviation AES

Transmettre des informations hautement confidentielles de manière sécurisée, sans qu’un tiers non autorisé n’y ait accès, est depuis toujours un défi. Les premiers « langages secrets » – par exemple de simples décalages alphabétiques – sont aujourd’hui trivialement cassables avec la puissance de calcul moderne. Aujourd’hui, nous protégeons les données au moyen de procédures cryptographiques définies de manière mathématiquement précise et dont la sécurité a été évaluée publiquement.

Ces procédures utilisent une clé connue uniquement de l’émetteur et du destinataire. Le chiffrement et le déchiffrement suivent un algorithme de chiffrement – une procédure mathématique clairement définie.

Password Depot chiffre vos données confidentielles à l’aide de l’algorithme Rijndael, standardisé sous le nom AES (Advanced Encryption Standard).

Dans ce qui suit, nous expliquons l’algorithme et le situons d’un point de vue technique.

Advanced Encryption Standard (AES) – la variante standardisée de Rijndael

Le National Bureau of Standards américain (aujourd’hui NIST) a normalisé en 1977 le DES ; cette norme a été retirée en 2005, car elle n’offrait plus un niveau de sécurité suffisant (communiqué du NIST). En 2001, le NIST a choisi Rijndael comme successeur et en a dérivé la norme Advanced Encryption Standard (AES) (FIPS 197).

Important : AES est un sous-ensemble de la famille Rijndael. AES fixe la taille de bloc à 128 bits et autorise des clés de 128, 192 ou 256 bits (note du NIST, FIPS 197 (PDF)).

AES est homologué pour la protection des informations des administrations américaines jusqu’au niveau TOP SECRET (voir fiche d’information CNSSP-15 ainsi que la FAQ CNSA-2.0 actuelle de la NSA).

Fonctionnement de Rijndael/AES (aperçu succinct)

Rijndael est un réseau de substitutions-permutations (SPN). Les idées principales sont les substitutions au niveau des octets, les transformations linéaires et les opérations XOR.

Traitement au niveau du bloc (état « 128 bits »)

  • Extension de clé (Key Schedule) : À partir de la clé, on dérive Nr + 1 clés de ronde (par ex. 11 pour AES-128, 13 pour AES-192, 15 pour AES-256). Source : FIPS 197.
  • Tour initiale : AddRoundKey – le bloc de texte en clair (sous forme de matrice 4×4 octets) est combiné par XOR avec la première clé de ronde.
  • Tours 1 … Nr :
    • SubBytes : chaque octet est remplacé via une S-Box (inverse multiplicatif dans GF(28) plus transformation affine avec la constante 0x63). Source : FIPS 197.
    • ShiftRows : les lignes de la matrice d’état sont décalées de manière cyclique.
    • MixColumns : les colonnes sont mélangées par une multiplication matricielle sur GF(28).
    • AddRoundKey : opération XOR avec la clé de ronde correspondante.
    Remarque : dans la dernière tour, l’étape MixColumns est omise. Le nombre de tours est de 10/12/14 pour des clés de 128/192/256 bits (FIPS 197).

AES peut être implémenté dans un logiciel, un firmware ou du matériel dédié (FIPS 197). Pour l’utilisation pratique, on recourt à différents modes de fonctionnement, par exemple CBC, CTR ou GCM (chiffrement authentifié). Des recommandations sont disponibles dans NIST SP 800-38A et NIST SP 800-38D (GCM/GMAC).

Important pour la classification : AES est un chiffre symétrique pour le chiffrement de données. L’échange de clés s’effectue généralement au moyen de méthodes asymétriques ((EC)DH/RSA). AES peut toutefois encapsuler les clés de manière sécurisée (« Key Wrap ») – voir NIST SP 800-38F.

Spécification officielle

Vous trouverez la référence ici : https://csrc.nist.gov/files/pubs/fips/197/final/docs/fips-197.pdf

Attaques par force brute

Brute force signifie qu’un attaquant essaie toutes les clés possibles. Les méthodes classiques comme le DES avec des clés de seulement 56 bits peuvent aujourd’hui être cassées en pratique de cette manière – le NIST a donc officiellement retiré DES en 2005 (NIST).

Les méthodes modernes comme AES avec des clés de 128/192/256 bits disposent en revanche d’un espace de clés astronomique. En pratique, ce n’est pas tant l’algorithme qui est déterminant que la dérivation de clé à partir des mots de passe et la qualité du mot de passe maître.

Password Depot complique encore les attaques par force brute grâce à une fonction de temporisation : après une saisie erronée du mot de passe maître, le programme reste bloqué pendant quelques secondes.

Conclusion : avec une implémentation correcte, des modes de fonctionnement appropriés (par ex. GCM) et une longueur de clé suffisante, AES est considéré aujourd’hui comme très sûr à long terme.

En savoir plus sur les attaques par force brute.

Références complémentaires