Qu’est-ce que le chiffrement AES et comment fonctionne-t-il ?
![](https://techrobot.com/wp-content/uploads/2021/05/01-What-Is-AES-Encryption-and-How-Does-It-Work.jpg)
Dans un monde où les hackers malveillants cherchent des opportunités pour voler ou détruire des données, le chiffrement est devenu une partie essentielle du monde numérique. Le chiffrement est une manière de protéger les données en les brouillant de sorte que seules les personnes autorisées avec la clé secrète peuvent les déchiffrer et les lire. AES est un algorithme de chiffrement que les fournisseurs de services VPN et les agences gouvernementales utilisent largement pour protéger les données. Cet article se penche sur le chiffrement AES et son fonctionnement.
Qu’est-ce que le chiffrement AES ?
Il existe deux principaux types de chiffrement : Symétrique et Asymétrique. Le chiffrement asymétrique implique l’utilisation de deux clés différentes (privée et publique) pour chiffrer et déchiffrer les données, tandis que le chiffrement symétrique implique l’utilisation d’une seule clé pour le chiffrement et le déchiffrement. Le Standard de Chiffrement Avancé (AES) appartient à la catégorie symétrique du chiffrement. Il est un sous-ensemble de la famille Rijndael de chiffreurs de blocs symétriques développés par Vincent Rijmen et Joan Dae en 1998, d’où le nom « Rijndael ».
AES est un chiffre itératif basé sur l’algorithme de réseau de substitution permutation (SPN). L’algorithme SPN est une classe de chiffres par blocs qui implique des tours d’une série répétée d’opérations mathématiques. C’est grâce à ces tours de chiffrement qu’AES est un chiffre de chiffrement redoutable. AES a trois types différents basés sur la longueur des clés de chiffrement. Ils incluent AES-128, AES-192 et AES-256.
La longueur de clé de chacun de ces types de AES détermine leur force ; plus la longueur est grande, plus le chiffrement est fort. Le chiffrement AES de 128 bits et de 192 bits possède respectivement 3,4 x 10^38 et 6,2 x 10^57 combinaisons de clés possibles. AES-256 est le chiffrement le plus robuste et possède 1,1 x 10^77 combinaisons de clés possibles. Malgré la variance dans la longueur de clé, la taille de bloc de AES reste toujours la même – 128 bits.
Pourquoi l’AES a-t-il été développé ?
Les chiffrements de cryptage étaient plus simples auparavant, et avec suffisamment de temps et d’outils, n’importe qui pouvait les craquer. À mesure que la technologie avançait, les pirates disposaient de meilleurs outils pour combattre les chiffrements de cryptage. Il était évident que les chiffrements de cryptage devaient être plus sophistiqués que ce qui existait à ce moment-là, à savoir le Standard de Chiffrement des Données (DES).
Comme l’AES, le DES est également un algorithme à clé symétrique. IBM a développé le DES dans les années 1970, et le Bureau National des Standards (NBS) des États-Unis l’a adopté comme le chiffrement standard pour crypter les informations sensibles du gouvernement. En raison de son adoption par le NBS et le gouvernement américain, différents secteurs ont accepté le DES. Cela a également suscité l’intérêt de la communauté académique, ce qui a stimulé un intérêt pour l’étude de la cryptographie. Pendant des décennies, le DES s’est avéré être redoutable jusqu’en juin 1997 où le groupe DESCHALL l’a publiquement craqué.
Le cracker DES de l’Electronic Frontier Foundation (EFF) a réalisé le même exploit en 56 heures l’année suivante. En 1999, il a fallu moins de 24 heures pour casser une clé DES. Ces événements significatifs ont montré qu’avec l’augmentation de la puissance de calcul et l’avancement de la technologie, ce ne serait qu’une question de temps avant que le craquage du DES ne devienne facile à réaliser. De plus, la longueur de la clé DES n’excédait pas 56 bits comparée à l’invincible clé AES de 256 bits.
En 2001, le National Institute of Standards and Technology (NIST) a révélé son adoption du chiffrement AES en raison de ses capacités polyvalentes. Il est meilleur que le DES en termes de performance, facile à implémenter et extrêmement difficile à casser.
Comment le chiffrement AES fonctionne-t-il pour protéger vos données
Comprendre l’algorithme de chiffrement AES peut être difficile si vous n’avez pas de solides connaissances en mathématiques. Cependant, nous allons essayer de simplifier le processus pour vous permettre d’avoir une compréhension de base de son fonctionnement. L’algorithme de chiffrement AES chiffre et déchiffre les données par blocs de 128 bits. Malgré la variation de la longueur de la clé, la taille du bloc ne change pas.
L’algorithme de chiffrement AES combine une clé secrète (clé de 128, 192 ou 256 bits) avec du texte en clair (données sensibles que vous souhaitez chiffrer) pour créer un chiffre. Le chiffre AES utilise une série de transformations mathématiques (substitution-permutation) en utilisant la clé secrète et le texte en clair. Avant toute opération, les données en texte clair sont séparées en une matrice de 4 x 4 de seize octets ou 128 bits (un octet équivaut à 8 bits) puisque AES chiffre les données par blocs de bits.
L’algorithme AES utilise la substitution-permutation avec plusieurs tours pour convertir les données en texte clair en un texte chiffré final. La taille de la clé détermine le nombre de tours. Une taille de clé de 128 bits a dix tours, une taille de clé de 192 bits a douze tours, et une taille de clé de 256 bits a quatorze tours. Maintenant, examinons les opérations impliquées dans le processus de conversion des données en texte clair en texte chiffré.
1. Expansion de clé et AddRoundKey
Dans cette opération, AES utilise le Rijndael Key Schedule pour produire de nouvelles clés de tour de 128 bits (sous-clé) à partir de la clé secrète principale. C’est-à-dire qu’il s’agit d’utiliser la clé secrète initiale pour créer une série de clés pour chaque tour de l’opération de chiffrement. Dans l’opération AddRoundKey, chaque octet de l’état actuel des données est mélangé avec un octet de la clé de tour actuelle en utilisant une opération XOR bit à bit.
2. SubBytes (substitution de bytes)
Dans cette opération, le bloc de 16 octets est passé à travers une boîte de substitution Rijndael (S-Box) pour donner une valeur alternative pour chaque octet. Chaque octet est substitué selon les règles prescrites par les S-Boxes Rijndael prédéfinies. La S-box prend une valeur et la remplace par une autre valeur. Le processus est bien plus compliqué, mais cela rend le décryptage du chiffrement AES presque impossible avec les ressources informatiques disponibles dans le monde.
3. ShiftRows
L’opération ShiftRows décale toutes les lignes dans un bloc de 16 octets sauf la première. Elle est plus facile à comprendre comparée à l’opération SubBytes. La première ligne ne change pas et reste identique. La deuxième ligne se déplace vers la gauche d’un octet, la troisième ligne se déplace vers la gauche de deux octets, et la quatrième ligne se déplace vers la gauche de trois octets.
4. MixColumns
Cette opération transforme chaque colonne dans le bloc de 16 octets de manière linéaire. En raison de la complexité de cette opération, nous n’allons pas trop nous attarder dessus. En utilisant la multiplication matricielle et l’addition XOR bit à bit, cette opération multiplie chaque colonne avec une matrice prédéfinie de 4 x 4, résultant en une nouvelle colonne et un nouveau bloc.
Ordre des opérations
Toutes les données que AES chiffre doivent passer par chacune des opérations ci-dessus. Ces opérations sont répétées plusieurs fois en fonction du nombre de tours nécessaires. Une clé de 128 bits nécessite dix tours, une clé de 192 bits nécessite douze tours, et une clé de 256 bits nécessite quatorze tours. Ci-dessous, nous allons examiner l’ordre dans lequel ces opérations s’exécutent pour chiffrer les données.
1. Expansion de clé
2. AjouterTour
3. Les opérations suivantes se dérouleront sur 9, 11 ou 13 tours dans l’ordre ci-dessous :
SubBytes
ShiftRows
MixColumns
AddRound
4. Les opérations suivantes ont lieu lors du dernier tour (10e, 12e ou 14e selon la longueur de la clé secrète) :
SubBytes
ShiftRows
AddRound
Décrypter le chiffrement AES
Nous avons vu comment AES chiffre les données, mais comment déchiffre-t-il les données ? Le processus de déchiffrement est simple. Inverser toutes les étapes impliquées dans le processus de chiffrement permet de déchiffrer les données. Jetons un œil à ce que serait le processus si nous déchiffrions des données.
1. Les opérations suivantes ont lieu dans le dernier tour (10e, 12e ou 14e, selon la longueur de la clé secrète) :
Inverse AddRound
Inverse ShiftRows
Inverse SubBytes
2. Les opérations suivantes se dérouleront sur 9, 11 ou 13 tours dans l’ordre ci-dessous :
Inverse AddRound
Inverse MixColumns
Inverse ShiftRows
Inverse SubBytes
Inverse AddRound
L’AES présente-t-il des problèmes de sécurité ?
Bien qu’aucune attaque réussie sur le chiffrement AES n’ait été enregistrée, une mauvaise mise en œuvre peut conduire à des hackers découvrant une vulnérabilité et l’exploitant. Puisque les cryptographes recherchent toujours des vulnérabilités sur l’AES, il y a eu quelques attaques théoriques et par canal auxiliaire réussies. Examinons-en quelques-unes.
1. Attaque de Distinction de Clé Connue
En 2009, une tentative de casser la version à 8 tours de AES-128 avec une attaque de distinction de clé connue a réussi. Puisque AES-128 a dix tours de chiffrement, il reste impénétrable. De plus, un attaquant doit connaître la clé de chiffrement avant que cela puisse fonctionner, ce qui est très peu probable.
2. Attaques par canal auxiliaire
Les attaques par canal auxiliaire ne fonctionneront que si quelqu’un n’implémente pas correctement le chiffrement AES, car elles reposent sur un système qui fuit des informations. L’attaquant prête attention aux fuites de données comme les informations électromagnétiques, la consommation d’énergie, les informations de timing, etc., pour recueillir des informations à partir de l’algorithme. AES n’est pas entièrement immunisé contre ce type d’attaque.
3. Autres Attaques
D’autres attaques que les cryptographes ont tenté d’utiliser pour briser le chiffrement AES incluent les attaques de récupération de clé et les attaques à clés liées. Dans les deux cas, l’attaquant cible la clé de chiffrement. Dans une attaque de récupération de clé, l’attaquant doit avoir au moins une paire de messages chiffrés et déchiffrés. Dans une attaque à clés liées, l’attaquant doit connaître la relation entre deux clés différentes. Ces attaques ne fonctionnent que sur les systèmes qui implémentent incorrectement l’AES et ne représentent pas des menaces significatives.
Conclusion
La raison principale pour laquelle les agences de sécurité et les meilleurs services VPN utilisent le chiffrement AES est due à son immunité face aux attaques. En plus d’être pratiquement impossible à briser, le Standard de Chiffrement Avancé est rapide, polyvalent et facile à implémenter. Comparé à d’autres types de chiffrement comme le DES, il utilise également moins de mémoire. Vous pouvez également le combiner avec d’autres protocoles de sécurité pour garantir un niveau de sécurité élevé.