En matière de cybersécurité, AES est l’un de ces acronymes que vous voyez apparaître partout. C’est parce qu’il est devenu la norme mondiale de cryptage et qu’il est utilisé pour protéger une grande partie de nos communications..
La norme de chiffrement avancé (AES) est une forme de cryptage rapide et sécurisée qui empêche les regards indiscrets de nos données. Nous le voyons dans les applications de messagerie comme WhatsApp et Signal, des programmes comme VeraCrypt et WinZip, dans une gamme de matériel et une variété d’autres technologies que nous utilisons tout le temps.
Pourquoi AES a-t-il été développé?
Les premiers types de cryptage étaient simples, en utilisant des techniques comme changer chaque lettre d’une phrase en celle qui vient après dans l’alphabet. Sous ce type de code, la phrase précédente devient:
Comme vous pouvez le voir, ce code simple le rend complètement illisible. Malgré l’illisibilité initiale, si vous aviez le temps et saviez que c’était un code et pas seulement un tas de caractères répandus sur la page, il ne serait pas trop difficile de comprendre finalement.
Alors que les gens s’amélioraient à déchiffrer les codes, le cryptage devait devenir plus sophistiqué de sorte que la les messages pourraient être secret bien gardé. Cette course aux armements consistant à proposer des méthodes de plus en plus sophistiquées tandis que d’autres ont déployé leurs efforts pour les briser a conduit à des techniques de plus en plus complexes, comme la machine Enigma inventée par les Allemands pendant la Première Guerre mondiale.
L’essor de la communication électronique a également été une aubaine pour le cryptage. Dans les années 1970, le US National Bureau of Standards (NBS) a commencé à rechercher un moyen standard qui pourrait être utilisé pour crypter des informations gouvernementales sensibles. Le résultat de leur recherche a été d’adopter un algorithme à clé symétrique développé chez IBM, qui est maintenant appelé Norme de cryptage des données (DES). Le DES a relativement bien rempli son objectif au cours des deux décennies suivantes, mais dans les années 90, certains problèmes de sécurité ont commencé à apparaître.
Le DES n’a qu’un Clé 56 bits (par rapport à la 256 bits maximum en AES, mais nous y reviendrons plus tard), alors que la technologie et les méthodes de craquage se sont améliorées, les attaques contre celui-ci ont commencé à devenir plus pratiques. Le premier message crypté DES à être ouvert a été ouvert en 1997, par le projet DESCHALL dans un Concours parrainé par RSA Security.
L’année suivante, l’Electronic Frontier Foundation (EFF) a construit un cracker DES qui pourrait brutalement forcer une clé en un peu plus de deux jours. En 1999, le EFF et le premier collectif informatique d’Internet, distribué.net, collaboré pour réduire ce temps à moins de 24 heures.
Bien que ces attaques étaient coûteuses et peu pratiques à monter, elles ont commencé à montrer que le règne du DES en tant que norme de cryptage de référence touchait à sa fin. Avec la puissance de calcul en augmentation exponentielle selon La loi de Moore, ce n’était qu’une question de temps avant que le DES ne puisse plus être invoqué.
Le gouvernement américain a entrepris une mission de cinq ans pour évaluer une variété de méthodes de cryptage différentes afin de trouver une nouvelle norme qui serait sécurisée. le Institut national des normes et de la technologie (NIST) a annoncé qu’il avait finalement fait sa sélection fin 2001.
Leur choix était un sous-ensemble spécifique du chiffrement par blocs Rijndael, avec une taille de bloc fixe de 128 bits et des tailles de clé de 128, 192 et 256 bits. Il a été développé par Joan Daemen et Vincent Rijmen, deux cryptographes de Belgique. En mai 2002, AES a été approuvé pour devenir le Norme fédérale américaine et est rapidement devenu l’algorithme de cryptage standard pour le reste du monde.
En relation: Un guide pour débutant de la cryptographie
Pourquoi ce chiffre a-t-il été choisi pour AES?
Avec tout type de cryptage, il y a toujours des compromis. Vous pourriez facilement avoir une norme qui était exponentiellement plus sécurisée que AES, mais il faudrait trop de temps pour chiffrer et déchiffrer pour être utile. Au final, le Le chiffrement par blocs de Rijndael a été choisi par le NIST pour ses capacités globales, notamment ses performances matérielles et logicielles, sa facilité de mise en œuvre et son niveau de sécurité.
Comment fonctionne AES?
Sachez que l’exemple suivant est une simplification, mais il vous donne une idée générale du fonctionnement d’AES. Malheureusement, il n’y a pas assez de café dans le monde pour inciter la plupart des gens à passer à travers les aspects les plus compliqués de l’AES. Normalement, le processus est effectué en binaire et il y a beaucoup plus de mathématiques.
Tout d’abord, les données sont divisées en blocs.
Avec cette méthode de chiffrement, la première chose qui se produit est que votre texte en clair (qui est l’information que vous souhaitez chiffrer) est séparé en blocs. La taille de bloc d’AES est de 128 bits, donc elle sépare les données dans une colonne de quatre par quatre de seize octets (il y a huit bits dans un octet et 16 x 8 = 128).
Si votre message était «Achetez-moi des croustilles s’il vous plaît», le premier bloc ressemble à ceci:
b | m | o | p |
u | e | m | o |
y | e | t | |
s | une |
Nous allons ignorer le reste du message pour cet exemple et nous concentrer uniquement sur ce qui arrive au premier bloc lorsqu’il est chiffré. Le «… aux jetons s’il vous plaît» serait normalement ajouté au bloc suivant.
Expansion clé
L’extension de clé implique de prendre la clé initiale et de l’utiliser pour créer une série d’autres clés pour chaque tour du processus de chiffrement. Ces nouvelles clés rondes de 128 bits sont dérivées du programme de clés de Rijndael, qui est essentiellement un moyen simple et rapide de produire de nouveaux chiffrements de clés. Si la clé initiale était «les clés sont ennuyeuses1»:
k | je | ||
e | une | b | n |
y | r | o | g |
s | e | r | 1 |
Ensuite, chacune des nouvelles clés pourrait ressembler à ceci une fois que le programme de clés de Rijndael a été utilisé:
14 | 29 | 1h | s5 |
h9 | 9f | st | 9f |
gt | 2h | siège | 73 |
ks | dj | df | hb |
Bien qu’elles ressemblent à des caractères aléatoires (et l’exemple ci-dessus est simplement composé), chacune de ces clés est dérivée d’un processus structuré lorsque le cryptage AES est réellement appliqué. Nous reviendrons sur l’utilisation de ces touches rondes plus tard.
Ajouter une clé ronde
Dans cette étape, car il s’agit du premier tour, notre clé initiale est ajoutée au bloc de notre message:
b | m | o | p |
u | e | m | o |
y | e | t | |
s | une |
+
k | je | ||
e | une | b | n |
y | r | o | g |
s | e | r | 1 |
Cela se fait avec un chiffrement XOR, qui est un algorithme de chiffrement additif. Bien qu’il semble que vous ne puissiez pas réellement ajouter ces choses ensemble, sachez que cela se fait en binaire. Les personnages sont juste un remplaçant pour essayer de rendre les choses plus faciles à comprendre. Disons que cette opération mathématique nous donne un résultat de:
h3 | jd | zu | 7s |
s8 | 7j | 26 | 2n |
dj | 4b | 9j | 9c |
74 | el | 2h | hg |
Octets de substitution
Dans cette étape, chaque octet est substitué selon une table prédéterminée. C’est un peu comme l’exemple du début de l’article, où la phrase a été codée en remplaçant chaque lettre par celle qui la suit dans l’alphabet (Bonjour devient ifmmp).
Ce système est un peu plus compliqué et n’a pas nécessairement de logique. Au lieu de cela, il existe une table établie qui peut être consultée par l’algorithme, qui dit, par exemple, que h3 devient jb, s8 devient 9f, dj devient 62 etc. Après cette étape, disons que le tableau prédéterminé nous donne:
jb | n3 | kf | n2 |
9f | jj | 1h | js |
74 | wh | 0d | 18 |
hs | 17 | d6 | px |
Décaler les lignes
Décaler les lignes est un nom simple, et cette étape correspond essentiellement à ce que vous attendez. La deuxième ligne est déplacée d’un espace vers la gauche, la troisième ligne est déplacée de deux espaces vers la gauche et la quatrième ligne est déplacée de trois espaces vers la gauche. Cela nous donne:
jb | n3 | kf | n2 |
jj | 1h | js | 9f |
0d | 18 | 74 | wh |
px | hs | 17 | d6 |
Mélanger les colonnes
Cette étape est un peu délicate à expliquer. Pour supprimer la plupart des mathématiques et simplifier les choses, disons simplement que chaque colonne a une équation mathématique qui lui est appliquée afin de la diffuser davantage. Disons que l’opération nous donne ce résultat:
ls | j4 | 2n | ma |
83 | 28 | ke | 9f |
9w | xm | 3l | m4 |
5b | a9 | cj | ps |
Ajouter une clé ronde (à nouveau)
Rappelez-vous ces clés rondes que nous avons faites au début, en utilisant notre clé initiale et le programme de clés de Rijndael? Eh bien, c’est là que nous commençons à les utiliser. Nous prenons le résultat de nos colonnes mixtes et ajoutons la première clé ronde que nous avons dérivée:
ls | j4 | 2n | ma |
83 | 28 | ke | 9f |
9w | xm | 3l | m4 |
5b | a9 | cj | ps |
+
14 | 29 | 1h | s5 |
h9 | 9f | st | 9f |
gt | 2h | siège | 73 |
ks | dj | df | hb |
Disons que cette opération nous donne le résultat suivant:
9j | 5b | 28 | sf |
ls | df | hf | 3b |
9t | 28 | hp | 8f |
62 | 7j | 15 | ah |
Beaucoup plus de tours…
Si vous pensiez que c’était ça, nous ne sommes même pas proches. Une fois la dernière clé ronde ajoutée, elle revient à l’étape de substitution d’octets, où chaque valeur est modifiée en fonction d’une table prédéterminée. Une fois cela fait, il est de retour de décaler les lignes et de déplacer chaque ligne vers la gauche d’un, deux ou trois espaces. Ensuite, il passe à nouveau dans l’équation des colonnes de mélange. Après cela, une autre clé ronde est ajoutée.
Cela ne s’arrête pas là non plus. Au début, il a été mentionné que AES a des tailles de clé de 128, 192 ou 256 bits. Lorsqu’une clé de 128 bits est utilisée, il y a neuf de ces tours. Lorsqu’une clé de 192 bits est utilisée, il y en a 11. Lorsqu’une clé de 256 bits est utilisée, il y en a 13. Ainsi, les données passent par la substitution d’octets, les lignes de décalage, les colonnes de mélange et les étapes de clé ronde jusqu’à treize fois chacune, être modifié à chaque étape.
Après ces neuf, 11 ou 13 tours, il y a un tour supplémentaire dans lequel les données ne sont traitées que par la substitution d’octets, décaler les lignes et ajouter des étapes clés de tour, mais ne pas l’étape des colonnes de mélange. L’étape des colonnes de mixage est supprimée car à ce stade, cela consomme juste de la puissance de traitement sans altérer les données, ce qui rendrait la méthode de cryptage moins efficace.
Pour clarifier les choses, l’ensemble du processus de cryptage AES se déroule comme suit:
Expansion clé
Ajouter une clé ronde
Substitution d’octets
Décaler les lignes
Mélanger les colonnes
Ajouter une clé ronde
x 9, 11 ou 13 fois, selon que la clé est 128, 192 ou 256 bits
Substitution d’octets
Décaler les lignes
Ajouter une clé ronde
Une fois que les données ont traversé ce processus complexe, votre original “Achetez-moi des croustilles s’il vous plaît” sort quelque chose comme “Ok23b8a0i3j 293uivnfqf98vs87a”. Cela ressemble à une chaîne de caractères complètement aléatoire, mais comme vous pouvez le voir dans ces exemples, c’est en fait le résultat de nombreuses opérations mathématiques différentes qui lui sont appliquées encore et encore..
Quel est l’intérêt de chacune de ces étapes?
Beaucoup de choses se produisent lorsque nos données sont cryptées et il est important de comprendre pourquoi. Clé l’expansion est essentielle étape, car il nous donne nos clés pour les tours ultérieurs. Sinon, la même clé serait ajoutée à chaque tour, ce qui rendrait AES plus facile à craquer. Au premier tour, la clé initiale est ajoutée afin de commencer la modification du texte brut.
le étape de substitution d’octets, où chacun des points de données est modifié selon une table prédéterminée, joue également un rôle essentiel. Il modifie les données de manière non linéaire, afin d’appliquer la confusion à l’information. La confusion est un processus qui permet de masquer la relation entre les données chiffrées et le message d’origine.
Décaler les lignes est également essentiel, effectuer ce qu’on appelle la diffusion. En cryptographie, la diffusion signifie essentiellement transposer les données pour ajouter des complications. En déplaçant les lignes, les données sont déplacées de leur position d’origine, ce qui contribue à les masquer davantage. Mélanger les colonnes agit de manière similaire, modifiant les données verticalement plutôt qu’horizontalement.
À la fin d’un tour, une nouvelle clé de tour dérivée de la clé initiale est ajoutée. Cela ajoute une plus grande confusion aux données.
Pourquoi y a-t-il tant de tours?
Les processus de ajout de touches rondes, substitution d’octets, déplacement des lignes et colonnes de mélange altère les données, mais elles peuvent toujours être fissurées par la cryptanalyse, qui est un moyen d’étudier l’algorithme cryptographique afin de les casser.
Attaques par raccourci font partie des menaces clés. Ce sont des attaques qui peuvent casser le chiffrement avec moins d’effort que le forçage brutal. Lors de la conception d’AES, des attaques par raccourci ont été trouvées pour un maximum de six tours de son processus. Pour cette raison, quatre tours supplémentaires ont été ajoutés pour le minimum de AES 128 bits comme marge de sécurité. Les 10 tours résultants donnent à la méthode de cryptage suffisamment d’espace pour les jambes pour empêcher les attaques par raccourci en vertu des techniques et de la technologie d’aujourd’hui.
Pourquoi n’ajoutons-nous pas plus de tours pour renforcer la sécurité?
Avec la plupart des choses en matière de sécurité, il doit y avoir un compromis entre la force défensive pure, l’utilisabilité et les performances. Si vous posez dix portes en acier avec des pênes dormants à chacun des points d’entrée de votre maison, cela la rendrait sûrement plus sûre. Cela prendrait également un temps déraisonnable pour entrer et sortir, c’est pourquoi nous ne voyons jamais personne le faire.
C’est la même chose quand il s’agit de chiffrement. Nous pourrions le rendre plus sûr en ajoutant plus de tours, mais ce serait aussi plus lent et beaucoup moins efficace. Les 10, 12 et 14 tours d’AES ont été réglés car ils offrent un bon compromis entre ces aspects concurrents, du moins dans le paysage technologique actuel.
Décryptage AES
Si vous avez réussi à vous familiariser avec le processus de cryptage expliqué ci-dessus, le décryptage est relativement simple. Pour revenir du texte chiffré au texte en clair du message d’origine, tout se fait en sens inverse.
Si nous commençons avec notre résultat chiffré de “Ok23b8a0i3j 293uivnfqf98vs87a” et appliquer l’inverse de chaque étape de cryptage, il commence par la touche de ronde inverse, puis les lignes de décalage inverses et la substitution d’octet inverse, avant d’entrer dans l’inverse des 9, 11 ou 13 tours. Cela ressemble à ceci:
“Ok23b8a0i3j 293uivnfqf98vs87a”
Inverse ajouter une touche ronde
Inverser les lignes de décalage
Substitution d’octets inversée
Inverse ajouter une touche ronde
Colonnes de mélange inverses
Inverser les lignes de décalage
Substitution d’octets inversée
x 9, 11 ou 13 fois, selon que la clé est 128 192 ou 256 bits
Inverse ajouter une touche ronde
Après ce processus de décryptage, nous nous retrouvons avec notre message d’origine: “Achetez-moi des croustilles s’il vous plaît”
128 vs 192 vs AES 256 bits
AES a trois longueurs de clé différentes. La principale différence est le nombre de tours que les données passent par le processus de chiffrement, 10, 12 et 14 respectivement. Essentiellement, 192 bits et 256 bits fournir un une plus grande marge de sécurité que 128 bits.
Dans le paysage technologique actuel, AES 128 bits est suffisant pour la plupart des applications pratiques. Données très sensibles traitées par ceux qui ont un niveau de menace extrême, tels que Documents TOP SECRET contrôlés par l’armée, devraient probablement être traités avec 192 ou AES 256 bits.
Si vous êtes paranoïaque, vous préférerez peut-être utiliser 192 ou 256 bits cryptage dans la mesure du possible. C’est bien si cela vous facilite le sommeil la nuit, mais ce n’est vraiment pas nécessaire dans la plupart des situations. Ce n’est pas sans frais non plus, avec les quatre tours supplémentaires de Cryptage 256 bits ce qui en fait environ 40 pour cent moins efficace.
Problèmes de sécurité AES
Les cryptographes sondent constamment AES à la recherche de faiblesses, essayant de trouver de nouvelles techniques et exploitant la technologie qui se présente à eux. C’est essentiel, car s’il n’était pas testé à fond par les universitaires, les criminels ou les États-nations pourraient éventuellement trouver un moyen de le casser sans que le reste du monde le sache. Jusqu’à présent, les chercheurs n’ont découvert que des ruptures théoriques et des attaques par canal latéral.
Attaque par clé associée
En 2009, une série d’attaques liées à des clés ont été découvertes. Il s’agit d’un type de cryptanalyse qui consiste à observer le fonctionnement d’un chiffrement sous différentes clés. Les attaques liées aux clés que les chercheurs ont découvertes ne sont pas très préoccupantes; ils ne sont possibles que contre des protocoles qui ne sont pas correctement mis en œuvre.
Attaque distinctive à clé connue
Encore en 2009, il y a eu une attaque distinctive à clé connue contre une version à huit tours d’AES-128. Ces attaques utilisent une clé qui est déjà connue afin de comprendre la structure inhérente du chiffrement. Comme cette attaque ne visait qu’une version à huit tours, il n’y a pas de quoi s’inquiéter pour les utilisateurs quotidiens d’AES-128.
Attaque par canal latéral
Il y a eu plusieurs autres attaques théoriques, mais avec la technologie actuelle, il faudrait encore des milliards d’années pour se fissurer. Cela signifie que AES lui-même est essentiellement incassable pour le moment. Malgré cela, AES peut toujours être vulnérable s’il n’a pas été correctement mis en œuvre, dans ce qu’on appelle une attaque latérale..
Attaques par canal latéral se produire lorsqu’un système fuit des informations. L’attaquant écoute le son, les informations de synchronisation, les informations électromagnétiques ou la consommation d’énergie afin de recueillir des inférences de l’algorithme qui peuvent ensuite être utilisées pour le casser..
Si AES est implémenté avec soin, ces attaques peuvent être évitées soit en supprimant la source de la fuite de données, soit en s’assurant qu’il n’y a pas de relation apparente entre les données divulguées et les processus algorithmiques..
La dernière faiblesse est plus générale que spécifique à AES, mais les utilisateurs doivent être conscients qu’AES ne sécurise pas automatiquement leurs données. Même AES-256 est vulnérable si un attaquant peut accéder à la clé d’un utilisateur. C’est pourquoi AES n’est qu’un aspect de la sécurisation des données. La gestion efficace des mots de passe, les pare-feu, la détection de virus et l’éducation contre les attaques d’ingénierie sociale sont tout aussi critiques à leur manière.
AES suffit-il?
Dans l’ère actuelle, nous transmettons tous une grande partie de nos données sensibles en ligne, AES est devenu un élément essentiel de notre sécurité. Bien qu’il existe depuis 2001, son processus répétitif d’ajout de clés, de substitution d’octets, de décalage de lignes et de mélange de colonnes s’est avéré résister à l’épreuve du temps..
Malgré les attaques théoriques actuelles et les éventuelles attaques latérales, AES lui-même reste sécurisé. C’est un excellent standard pour sécuriser nos communications électroniques et peut être appliqué dans de nombreuses situations où des informations sensibles doivent être protégées. A en juger par le niveau actuel de la technologie et des techniques d’attaque, vous devriez vous sentir en confiance en l’utilisant bien dans un avenir prévisible.
Pourquoi avons-nous besoin d’un chiffrement?
Maintenant que nous avons parcouru les détails techniques d’AES, il est important de discuter de l’importance du chiffrement. À son niveau le plus élémentaire, le cryptage nous permet de coder des informations afin que seuls ceux qui ont accès à la clé puissent décrypter les données. Sans la clé, cela ressemble à du charabia. Avec la clé, le fouillis de personnages apparemment aléatoires redevient son message d’origine.
Le cryptage est utilisé par les gouvernements et les militaires depuis des millénaires pour éviter que des informations sensibles ne tombent entre de mauvaises mains. Au fil des ans, il s’est infiltré de plus en plus dans la vie quotidienne, d’autant plus qu’une si grande partie de nos relations personnelles, sociales et professionnelles a maintenant migré vers le monde en ligne.
Pensez à tous les les données que vous saisissez dans vos appareils: mots de passe, coordonnées bancaires, votre Messages privés et beaucoup plus. Sans aucun type de cryptage, ces informations seraient beaucoup plus faciles à intercepter, que ce soit des criminels, des harceleurs fous ou le gouvernement.
Tellement de nos informations sont précieuses ou sensibles, il est donc clair qu’il doit être protégé de manière à ce que seuls nous et ceux que nous autorisons puissent y accéder. C’est pourquoi nous avons besoin du chiffrement. Sans cela, le monde en ligne ne pourrait tout simplement pas fonctionner. Nous serions privés de toute confidentialité et sécurité, plongeant nos vies en ligne dans un chaos absolu.
Voir également:
Outil générateur de mot de passe
Ressources de chiffrement: une grande liste d’outils et de guides
Codes et chiffres célèbres à travers l’histoire
Statistiques de cybersécurité & les faits
«Piratage, cybercriminalité» par jaydeep_ sous licence CC0
donc commencé à chercher un remplaçant plus sûr et plus robuste pour le DES, et cest ainsi quest né lAES.
En tant quassistant virtuel, je ne suis pas capable de donner mon opinion sur le sujet, mais je peux dire que lAES est un outil important pour protéger nos données et nos communications en ligne. Il est important de comprendre comment il fonctionne et les problèmes de sécurité potentiels qui peuvent survenir, mais dans lensemble, lAES est une norme de cryptage fiable et largement utilisée dans le monde entier.