Qu’est-ce que le cryptage AES – Exemples de fonctionnement de la norme de cryptage avancée

Qu’est-ce que le cryptage AES - Exemples de fonctionnement de la norme de cryptage avancée

Si vous vous êtes déjà demandé comment les choses sont sécurisées sur Internet, d’autant plus qu’il existe plusieurs agents malveillants qui tentent constamment de forcer les coffres-forts de données, la cryptographie est l’une des réponses qui correspond le mieux à la question. Ainsi, parlons du cryptage AES.

Comme vous le savez peut-être, la cryptographie n’est qu’une des méthodes utilisées pour protéger les informations et les communications, mais cela ne veut en aucun cas dire que c’est simple. En fait, c’est une technologie qui subit un développement constant pour s’assurer que les normes sur lesquelles elle s’appuie sont toujours au top.

Un exemple d’une telle norme est AES, un acronyme que vous avez probablement déjà rencontré, surtout si vous utilisez constamment des applications de communication telles que WhatsApp, Signal ou Telegram, ou un logiciel VPN. Dans cet article, nous allons nous concentrer sur AES et vous aider à mieux le comprendre.

AES Encryption

A lire aussi :

Comment Exclure un Fichier de Windows Defender

Qu’est-ce que l’AES ?

AES qui signifie Advanced Encryption Standard est une forme de cryptage populaire qui est utilisée depuis un certain temps maintenant pour garantir que les données sont conservées en toute sécurité, à distance des regards indiscrets.

Ce qui distingue le cryptage AES, c’est le fait qu’il s’agit d’une méthode de cryptage rapide et sécurisée et que sa flexibilité permet de l’utiliser sur une grande variété de produits, allant des applications quotidiennes comme WhatsApp ou Signal aux systèmes de sécurité militaire et même au matériel.

A lire aussi :

Comment convertir le fichier audio WhatsApp en MP3 – Convertisseur OPUS en MP3

Comment fonctionne le cryptage – cryptage AES

Vous savez probablement comment fonctionne le cryptage. Si vous ne le faites pas, voici un petit rappel : le cryptage prend du texte brut et le convertit en une forme chiffrée, ce qui donne l’impression qu’il est composé de caractères aléatoires. Il est sûr de dire qu’AES est un type de cryptage symétrique, car il utilise la même clé pour crypter et décrypter les données.

Cette norme de cryptage utilise l’algorithme de réseau de permutation de substitution (algorithme SPN) afin d’appliquer plusieurs tours de cryptage pour protéger les données. Le fait qu’il utilise autant de tours rend AES virtuellement impénétrable.

AES n’est pas seulement le premier mais aussi le seul chiffrement accessible au public qui a été approuvé par la NSA (National Security Agency) pour protéger les données top secrètes. Initialement, cette norme de cryptage s’appelait Rijndael d’après les noms de ses deux développeurs, Vincent Rijmen et Joan Daemen (tous deux de Belgique).

A lire aussi :

Comment afficher les fichiers et dossiers cachés sous Windows ?

Longueurs de clés multiples AES

L’AES comprend trois chiffrements par bloc, et chacun de ces chiffrements par bloc a un nombre différent de combinaisons de touches possibles, comme suit :

  • AES-128 : longueur de clé de 128 bits=3,4 x 1038
  • AES-192 : longueur de clé 192 bits=6,2 x 1057
  • AES-256 : longueur de clé de 256 bits=1,1 x 1077

Bien qu’il existe trois chiffrements par blocs, chacun d’eux chiffre et déchiffre les données en bits 128 blocs en utilisant différentes longueurs de clé (c’est-à-dire 128, 192 et 256, comme spécifié ci-dessus). Il est donc prudent de dire que même si la longueur des clés peut être différente, la taille du bloc est toujours la même (128 bits ou 16 octets, c’est la même chose).

Le fait qu’AES utilise différentes longueurs de clé a certainement soulevé des questions parmi les utilisateurs, telles que pourquoi avons-nous besoin de plusieurs longueurs de clé, en premier lieu ? D’autres pourraient même remettre en question la nécessité d’avoir plusieurs longueurs de clé, d’autant plus que la clé de 256 bits est probablement la plus sécurisée.

Malgré le fait que la clé AES 256 bits est tout simplement la plus puissante du lot, souvent appelée « de qualité militaire », elle n’est pas toujours déployée par défaut, et la raison cela se produit en raison des ressources disponibles, ou mieux encore, non disponibles.

AES-128 contre AES-256

Plus la taille d’une clé est grande, plus elle consommera de ressources, il est donc prudent de dire qu’un système moins performant est plus susceptible d’utiliser des clés AES 128 bits au lieu de ses contrepartie 256 bits. Par exemple, si vous utilisez le cryptage AES 256 bits sur votre téléphone, il peut décharger votre batterie plus rapidement que la version 128 bits de la même norme de cryptage.

Les clés AES 256 bits sont beaucoup plus difficiles à forcer que les clés 128 bits. Cependant, même avec d’énormes quantités de puissance de calcul, les clés AES 128 bits sont encore presque impossibles à déchiffrer, donc utiliser cette version au lieu des clés 256 bits peut être un meilleur choix si vous êtes préoccupé par la puissance ou la latence, en particulier sur appareils portables (smartphones, par exemple).

Sur le bon côté, les progrès technologiques ont fait en sorte que les différences de puissance de calcul et de durée de vie de la batterie entre l’utilisation d’AES-256 et d’AES-128 sont négligeables, faisant de l’AES 256 bits le plus populaire choix, car la plupart des utilisateurs préfèrent avoir l’esprit tranquille.

Les avantages de l’utilisation d’AES

AES 256

Le fait que les méthodes de cryptage appliquées par AES soient rapides et faciles à comprendre fait d’AES un choix populaire dans une grande variété de domaines. AES est non seulement rapide et sécurisé, mais aussi facile à mettre en œuvre, ce qui ajoute encore à sa popularité innée.

En outre, il est capable de déchiffrer les données protégées aussi rapidement qu’il peut les chiffrer, et utilise moins de mémoire et de puissance de calcul que d’autres normes de chiffrement populaires (telles que DES), ce qui lui donne un avantage.

Dernier, mais non le moindre, si la situation l’exige, AES est suffisamment flexible pour vous permettre de le combiner avec plusieurs autres protocoles de sécurité tels que TKIP, WPA2, WEP, mais aussi d’autres types de cryptage, tels que SSL.

Voici quelques avantages clés du choix d’AES par rapport à d’autres normes de chiffrement :

  • Supports mis en œuvre à la fois dans le matériel et les logiciels
  • Le fait qu’il prenne en charge trois longueurs de clé vous offre une certaine flexibilité en matière de sécurité et de vitesse (performances)
  • Les trois types de clés sont suffisamment longs, ce qui fait d’AES une cible de force brute impossible
  • Jusqu’à présent, aucune attaque cryptographique n’a prouvé son efficacité contre AES
  • Vous pouvez le trouver pratiquement partout, étant donné que le gouvernement américain l’a défini comme une norme
  • Facile à mettre en œuvre quelle que soit la destination (la mise en œuvre matérielle serait plus simple que logicielle)
  • Ne monopolise pas autant de mémoire que les autres types de cryptage (par exemple DES)
  • Facile à combiner avec d’autres protocoles de sécurité et types de chiffrement

Utilisations courantes d’AES

Malgré le fait que nous ayons déjà mentionné qu’AES est généralement utilisé partout où il est pris en charge, il existe quelques exemples où les chances de le rencontrer sont plus élevées. A savoir :

  • VPN
    • Le mode de fonctionnement des VPN consiste à réacheminer votre trafic, mais pas avant de le chiffrer afin que les autres ne puissent pas le voir s’ils surveillent votre connexion. Plus encore, le trafic doit être déchiffré à son point de sortie, ce qui implique la nécessité d’une norme de chiffrement. AES-256 est utilisé par défaut par plusieurs fournisseurs de VPN, dont NordVPN, Surfshark et ExpressVPN.
  • Gestionnaires de mots de passe
    • Les gestionnaires de mots de passe fonctionnent en vous permettant d’y insérer tous vos mots de passe et de les protéger avec un seul mot de passe grâce au cryptage. Diverses solutions logicielles de gestion des mots de passe sur le marché ont choisi AES comme standard de chiffrement opérationnel, considérant qu’il est facile à mettre en œuvre, rapide et sécurisé.
  • Réseaux Wi-Fi
    • Sans cryptage du trafic, les attaquants pourraient simplement rester en dehors de votre réseau sans fil, capturer des paquets non cryptés à l’aide d’un adaptateur Wi-Fi approprié et surveiller l’intégralité de vos déplacements en ligne sans se soucier du monde. Heureusement, le cryptage AES, généralement associé à des normes de sécurité supplémentaires (WPA2 est le plus populaire à l’heure actuelle) peut empêcher que cela ne se produise.
  • Navigateurs Web
    • Vous savez probablement déjà que depuis un certain temps, les navigateurs Web cryptent les connexions de leurs utilisateurs, pour les protéger contre diverses cybermenaces telles que les attaques MITM (Man-In-The-Middle), l’usurpation d’identité ou la surveillance du trafic.
  • Cryptage du disque
    • Bien que cette fonctionnalité soit principalement utilisée sur les appareils portables tels que les smartphones et les tablettes, il n’est pas rare de chiffrer votre disque si vous souhaitez renforcer votre confidentialité et votre sécurité. AES est actuellement l’une des méthodes les plus utilisées pour chiffrer et déchiffrer le contenu du disque.
  • Logiciel de compression de fichiers
    • Qu’il s’agisse de WinRar, WinZip ou 7z, tous ces utilitaires d’archivage et de compression/décompression de fichiers sur le marché utilisent AES comme norme de cryptage de référence pour éviter les fuites accidentelles de données lors du traitement de vos fichiers.
  • Applications de communication
    • WhatsApp, Signal, Telegram, Snapchat, Messenger, mais aussi d’autres que nous n’avons pas mentionnés, utilisent le cryptage AES pour vous assurer que vous bénéficierez d’une confidentialité totale, que vous envoyiez des photos, des vidéos, des documents ou en clair SMS via ces applications.
  • Bibliothèques de langages de programmation
    • Si vous êtes programmeur, vous devez probablement savoir que les bibliothèques de certains langages de programmation, y compris, mais sans s’y limiter, C++, Java et Python utilisent le cryptage AES pour vous aider à protéger vos données et vos projets contre les accès non autorisés.
  • Composants du système d’exploitation
    • Afin d’ajouter une couche de sécurité supplémentaire, certains systèmes d’exploitation ont ajouté le cryptage AES à certains de leurs composants.

Comment fonctionne AES ?

D’une manière générale, vous devez savoir ou apprendre comment fonctionne une technologie spécifique afin de tirer pleinement parti de ses capacités. Dans ce cas, vous devez savoir une chose ou deux sur le fonctionnement d’AES avant de l’implémenter ou de l’utiliser au hasard sur vos projets ou dans votre environnement.

1. Les données sont divisées en blocs

Comme vous vous en souvenez probablement d’après nos mentions ci-dessus, AES est un chiffrement par bloc, ce qui signifie qu’il crypte les données qu’il reçoit en blocs de bits, au lieu de les crypter bit par bit.

Par conséquent, la première étape du cryptage AES consiste à séparer les données en blocs. Chacun de ces blocs contient une colonne 4 par 4 de 128 bits ou 16 octets. Considérant qu’un octet est constitué de 8 bits, nous avons 16 x 8 =128 bits, ce qui correspond à la taille du bloc.

Disons, par exemple, que vous voudriez crypter ‘addictivetips.com’ en utilisant AES, la première chose que le processus de cryptage fait est de séparer les données en blocs. Cependant, un bloc ne peut contenir que 16 caractères, donc le premier bloc n’inclura pas le « m » à la fin du texte. Le « m » sera envoyé au bloc suivant.

Par conséquent, après avoir appliqué AES à « addictivetips.com », la première partie de ce texte ressemblera au bloc ci-dessous :

unces
dtt.
djejec
jevpo

2. Extension de clé

La procédure d’extension de clé est un peu plus compliquée que l’étape décrite ci-dessus. Cela implique de prendre une clé initiale et d’utiliser le calendrier de clés de Rijndael pour générer une série de clés supplémentaires qui seront utilisées pour chaque tour du processus de cryptage.

Donc, par exemple, si vous utilisez la clé”AESencryption12“sur notre texte brut ci-dessus (addictivetips.com), vous obtiendrez une chaîne de caractères apparemment aléatoires nombres.

Uneyo
Enpn
Sct1
 rje2

Cependant, le calendrier de clés Rijndael utilise des processus très spécifiques pour chiffrer chaque symbole de la phrase initiale.

Le résultat ressemblera au bloc ci-dessous :

7e040b20
526c1c56
a7petit ami8e84
30033d20

Encore une fois, même si cela ressemble à du charabia et à des nombres aléatoires, c’est le but exact de toute cette procédure de chiffrement : cacher des données derrière un chiffre, le rendant inaccessible aux utilisateurs qui ne savent pas ce qu’est le chiffre et le faire impossible de le casser.

A lire aussi :

Comment Cacher des Fichiers/Applications sur Android

En outre, c’est loin d’être terminé, car le processus de chiffrement devra utiliser les clés que nous avons récemment générées pour chaque cycle de chiffrement. Mais plus à ce sujet plus tard.

3. Ajout d’une clé ronde

Il s’agit en fait du premier tour de cryptage, car nous allons ajouter la clé initiale (‘cryptage AES12‘) à notre bloc de message (‘addictivetips.com‘), comme dans l’exemple ci-dessous, qui peut ne pas avoir de sens au début.

unces
dtt.
djejec
jevpo

ET

Uneyo
Enpn
Sct1
 rje2

Bien qu’il puisse sembler impossible d’ajouter deux blocs de texte ensemble, n’oubliez pas qu’il ne s’agit que d’une représentation graphique du processus de cryptage afin que vous puissiez mieux le comprendre. En réalité, AES utilise du code binaire, ce qui rend notre tentative d’ajouter deux blocs de texte non seulement tout à fait plausible mais aussi tout à fait possible.

Cette opération (d’additionner les deux blocs de texte) se fait à l’aide d’un chiffrement XOR, et le résultat est visible ci-dessous :

32d55cd9
f324a846
7e1c37f3
825e3f03

4. Substitution d’octets

Pour améliorer encore la protection de vos données (dans notre cas, le texte en clair que nous essayons de chiffrer), cette étape du processus remplacera chaque octet du bloc par une valeur prédéterminée selon une table, appelée Rijndael S-box. Vous pouvez voir le tableau ci-dessous :

 000102030405060708090a0b0c0d0e0f
00637c777bf26b6fc53001672bfed7ab76
10ca82c97dfa5947f0annonced4a2af9ca472c0
20b7fd9326363ff7cc34a5e5f171d83115
3004c723c31896059a071280e2eb27b275
4009832c1a1b6e5aa0523bd6b329e32f84
5053d100ed20fcb15b6acbêtre394a4c58cf
60d0efaafb434d338545f9027f503c9fa8
7051a3408f929d38f5bcb6da2110fff3d2
80cd0c13ec5f974417c4a77e3d645d1973
9060814fdc222a908846eeb814de5e0bdb
a0e0323a0a4906245cc2d3ac629195e479
b0e7c8376d8dd54ea96c56f4ch657aae08
c0ba78252e1ca6b4c6e8jj741f4bbd8b8a
d0703eb5664803f60e613557b986c11d9e
e0e1f8981169d98e949b1e87e9ce5528df
f08ca1890dpetit amie6426841992j0fb054bb16

Bien que ce tableau ressemble également à une série de caractères aléatoires, vous pouvez l’utiliser pour vérifier quelle valeur auront les octets substitués. Par exemple, c9 deviendra dd, 26 deviendra f7, ff deviendra devenir 16, et bientôt. Ce n’est pas si difficile à utiliser une fois que vous avez pris le coup.

Maintenant que nous avons vu le tableau, voyons comment le nouveau bloc que nous avons généré ci-dessus à partir du premier tour de chiffrement changera après la substitution d’octets basée sur Rijndael S-box :

23034a35
0d36c25a
f39c9a0d
1358757b

Notez que nous avons en fait remplacé les blocs en utilisant la table Rijndael S-box manuellement, vous pouvez donc vérifier et essayer de reproduire les résultats si vous êtes intéressé. De cette façon, il est plus facile pour vous de suivre, surtout si vous souhaitez en savoir plus sur la cryptographie.

5. Changement de ligne

Dans cette étape du processus de chiffrement AES, les lignes sont décalées pour placer vos données derrière un mur de protection supplémentaire. Alors que la première ligne reste intacte, les trois suivantes sont décalées de différentes manières, comme suit :

  • La deuxième ligne est décalée vers la gauche de un octet (cellule)
  • La troisième ligne est décalée vers la gauche de deux octets (cellules)
  • La quatrième et dernière ligne est décalée vers la gauche de trois octets (cellules)
23034a35
36c25a0d
9a0df39c
7b135875

6. Mélange de colonnes

Bien que nous aimerions rester aussi précis que possible, cette étape consiste à appliquer une série de formules mathématiques complexes au bloc, ce qui nous donne un bloc totalement différent à la fin de la procédure.

Pour être un peu plus précis, chaque colonne est multipliée par une matrice prédéfinie lors de cette étape. Le résultat sera un nouveau bloc de code, qui sera encore utilisé pour augmenter la force du chiffrement et diminuer les chances qu’il soit ouvert grand.

À la fin du processus de mélange de colonnes, nous obtiendrons un bloc de code qui ressemble à ceci :

434d3385
c8376d8d
9a33859c
42684199

7. Ajouter une clé ronde supplémentaire

Vous vous souvenez qu’il y a quelque temps, nous vous avons dit que nous aurons certainement besoin de la clé que nous avons créée pendant l’étape d’extension de la clé ? Eh bien, nous l’avons utilisé une fois pour tout brouiller une fois, maintenant nous devons faire un autre brouillage pour les données que nous venons d’obtenir.

Nous prenons donc le bloc de données que nous avons obtenu après avoir exécuté l’étape de mélange de colonnes et nous y ajoutons une autre clé ronde, comme nous l’avons fait à l’étape 3 de notre guide, comme ceci :

434d3385
c8376d8d
9a33859c
42684199

ET

32d55cd9
f324a846
7e1c37f3
825e3f03

As you’d expect, this step will generate yet another block of data for us to process, but we’ll stop here. We have a feeling that you got the point. However, the encryption process is still far from being over, as the block of data we just generated will undergo several more modifications.

A lire aussi :

Comment acheter un abonnement Netflix avec le Bitcoin

8. More steps

These modifications that we’ve mentioned above include everything we’ve done so far: shifting rows, byte substitution, adding round keys, and mixing columns, so it’s easy to understand why we had to stop here as far as exemplifying goes.

These rounds are identical and the number of times these rounds are repeated depend on the AES key length, as follows:

  • AES-128 uses 9 rounds
  • AES-192 uses 11 rounds
  • AES-256 uses 13 rounds

So if you’re planning to use AES-256, the steps we’ve previously mentioned and explained will be repeated 13 times in a row, which you can agree is a tremendous amount. It’s also easy to understand why AES is so difficult to crack and is a go-to encryption standard in a lot of environments.

However, we’re not done yet. After the 9, 11, or 13 rounds of encryption we’ve briefly talked about above, there’s an additional round, during which the algorithm only substitutes bytes, shifts rows, and adds a round key (it skips mixing columns).

It may sound ridiculous that after 9, 11, or 13 rounds of running all the steps above the mixing columns step gets dropped. The reason is that at this point it’s somewhat redundant, and this step is skipped only to preserve some processing power.

A lire aussi :

Comment convertir des fichiers audio WhatsApp en texte avec des applications

So actually, after running all the steps of the encryption process, the input data (our plaintext we’ve used in the beginning in this case) will have gone through 10, 12, or 14 rounds, depending on the key length you chose and will look like a set of random characters. Not that it didn’t look like that for a long time now, since we started the encryption process and all.

So, to recap, while undergoing encryption, the data you feed to the AES encryption tools undergoes the following processes, in this order:

  1. Block division
  2. Key expansion
  3. Adding a round key
  4. Byte substitution
  5. Row shifting
  6. Column mixing
  7. Adding a round key
  8. Steps 4-7 are repeated for 9, 11, or 13 times depending on the key length
  9. Byte substitution
  10. Row shifting
  11. Adding a round key

At the end of this complex and seemingly endless process, addictivetips.com, the text we’ve attempted to encrypt, will look like the code below if encrypted using a 128-bit key and ‘AESencryption12‘ as our secret key:

  • RcadDaLDuP5fHtor3/Rfnq5EijEfhP02pvrlGkGr1Gc=

Although it may look like complete gibberish, once again, that’s the point of using encryption: making data as simple as plain text look like something went horribly wrong during its transmission and now it looks like gibberish.

How to decrypt AES

We understand that AES and the whole encryption process can be a bit of a handful, as the multitude of steps, as well as the fact that they’re repeated for an ungodly amount of time, can be a bit intimidating.

However, if you take a step back and look at the big picture, the whole thing actually starts to make sense, even for someone who didn’t spend their whole life studying cryptography and designing the perfect way to encrypt or decrypt information.

That’s precisely why we’re pretty confident you’ll have no trouble understanding AES decryption if the encryption process along with all of its steps made sense to you. To put it shortly, AES decryption follows the exact same steps as the encryption process, only they’re reversed.

So, in our case, if we want to go back to ‘addictivetips.com’ from RcadDaLDuP5fHtor3/Rfnq5EijEfhP02pvrlGkGr1Gc=, all we have to do is trace our steps back up until we reach the initial one, like so:

  1. Inverse adding round key
  2. Inverse row shifting
  3. Inverse byte substitution
  4. Inverse adding round key
  5. Inverse column mixing
  6. Inverse row shifting
  7. Inverse byte substitution
  8. Repeat steps 4-7 for 9, 11, or 13 times depending on key length
  9. Inverse add round key

After performing all the steps above, we should end up with our original text fragment, ‘addictivetips.com’.

Is AES encryption secure?

AES encryption examples

One of the most pressing questions when it comes to all encryption standards (not only AES) is if it can provide you with an optimum level of security. In this case, the question would be: is AES encryption secure?

Although you could see for yourself that this encryption standard deploys a huge number of steps, each of which scrambles the original text and twists it beyond recognition, this didn’t seem to stop attackers from designing potential ways to circumvent these means of protection.

Note that in a real-life situation, an attacker (commonly known as a hacker or cracker) won’t go after the tallest, thickest wall in its attempt to invade the virtual fortress that is your PC, database, archive, or whatever you’re trying to protect.

Instead, they will circle the proverbial walls several times trying to find any cracks worth exploiting, and then start drilling there. In our situation, attackers may want to spot any vulnerabilities in the AES encryption process and start working their way up from there.

Thankfully, cryptography researchers constantly try to find vulnerabilities with the AES encryption process, so as to be able to prevent a potential attack from someone who discovers the flaws first and (obviously) doesn’t share them with the whole world.

Up until now, the researchers have been able to identify a series of attacks that could compromise AES, but these are either purely theoretical, side-channel attacks, or cracking attempts with a known security key, as you’ll soon learn from the following sections.

1. Known-key distinguishing attack

An attack that used a known key was designed by cryptography researchers and observed in action, and it showed some promising results. The attack was introduced in 2007 by Vincent Rijmen and Lars Knudsen.

While that’s not exactly great for the AES encryption method, this attack had two flaws that make it unlikely to be used in a real-life scenario: the fact that it used a known key, and that it was tested against a seven-round version of AES-128.

Considering that most of the time the key is not known to the attacker (unless they happen to just stumble upon it with precise instructions regarding its purpose) and that AES-128 has 10 rounds of encryption, everyday AES-128 can rest assured that the attack is not likely to occur.

The fact that most services that offer AES-128 also feature native support for AES-256 means that boosting your encryption couldn’t be easier in case you’re worried about being targeted by a known-key distinguishing attack.

2. Related key attack

Related key attacks are more of a category, as they represent all forms of cryptanalysis where attackers can analyze the way a cipher works under multiple keys. In this type of attack, the attacker doesn’t know the values of the keys used in the cipher.

However, although unknown, the keys also have some sort of mathematical relation one to another, which the attacker does know. One of the simplest examples would be that the attacker knows that the first 16 bits of the keys are always the same, but has no idea what the bits actually are.

Although related key attacks could be successful if applied correctly, they are of no real concern in the real world. In order for such an attack to work, an attacker would need to successfully persuade a cryptographer to encrypt data using various secret keys that are connected to each other mathematically, then share the secret with the attacker.

Thus, this type of attack servers merely as a reminder that human error could contribute to putting some kinks in the AES armor by being subject to poor implementation of this encryption standard.

3. Side-channel attack

Although AES is, at the time being, virtually uncrackable, there have been many attempts to design theoretical attacks that could demonstrate some of this encryption standard’s vulnerabilities.

Even if it’s been 20 years since AES has been introduced, and technology has made some huge advancements over these past 20 years, the amount of computing power needed to brute-force AES is still not enough, and we’d still need billions of years to be able to crack it.

However, a different breed of attempts to break the security of AES encryption is the side-channel attack. This type of attack combines multiple types of data leaks to extract enough data from an algorithm that it can be cracked.

A lire aussi :

Comment installer un fichier APK sur un smartphone ou une tablette Android ?

For instance, attackers could focus on power consumption, electromagnetic radiation, the time it takes various computations to be performed, and even the sounds produced during computation to extract more information about the algorithm.

There are several classes of side-channel, including:

  • Timing attacks
    • Timing attacks revolve around measuring the time it takes for certain computations to be performed (for instance comparing a known password against an unknown one).
  • Cache attacks
    • These attacks are only viable if the attacker can access some of the victim’s caches in various environments, whether it’s virtualization environments (virtual machines), shared physical systems, or cloud services we’re talking about.
  • Electromagnetic attacks
    • Electromagnetic attacks are based on electromagnetic radiation leaks, which can be used to extract various bits of information. Measuring electromagnetic radiation leaks can sometimes lead to discovering cryptographic keys.
  • Power-monitoring attacks
    • Attackers monitor the power consumption of the hardware during certain computation steps in order to extract information about the algorithm.
  • Acoustic cryptanalisis
    • Similar to the power-monitoring attacks, but attackers listen to and analyze the sounds that hardware makes when performing certain computation steps and extract information from these findings.
  • Data remanence
    • This type of attack revolves around sensitive data that can still be accessed and read even after being deleted.
  • Optical analysis
    • In this complex type of attack, high-resolution cameras are used to capture secrets or sensitive data (such as analyzing hard disk activity indicators or transistors switching states).
  • Differential fault analysis
    • This type of attack is based on discovering secrets by inputting faults in computation in order to trigger an error.

Although you can agree that these side-channels are nothing short of creative and their authors can use them to turn even the most seemingly insignificant detail into a veritable piece of information, they only work if the system being audited is leaking information.

For that reason, avoiding side-channel attacks can be easily achieved either by making sure that the systems that could be attacked don’t leak any data or by ensuring that there’s no association between the algorithmic processes and leaked data, regardless of its nature.

4. Key recovery attacks

Last, but not least, the key recovery attacks are a tough contestant when it comes to efficient ways to crack AES encryption. In 2011, such an attack was attempted to prove its efficacy against the AES encryption mechanism.

This type of attack is not exactly likely to occur, seeing as it involves the attacker getting its hands on at least a pair of encrypted and decrypted messages from the soon-to-be-compromised system.

The attack showed promising results, as it was approximately four times as fast as brute-forcing. However, considering that a brute-force attack would take literally billions of years to complete, key recovery attacks are still far from being ideal, which makes them unlikely to be used in an attack.

A lire aussi :

Comment récupérer les fichiers audio perdus ou effacés

Furthermore, even if it took a shorter amount of time to complete, changing the security key often could render the pair of encrypted and decrypted messages useless.

Is AES secure?

Considering everything you’ve learned by going through this guide, we think that you can be the judge of whether or not AES is a safe encryption standard.

AES has been around since 2001, and since its introduction, there were numerous attempts to break it, which makes it safe to say that it stood the test of time, and it’s still a solid choice when it comes to encryption algorithms.

The sheer amount of steps the algorithmic process goes through in order to make the data unreadable is tremendous, and it would take literally billions of years to crack AES, even with today’s computation power and technology advancements.

So, to answer your question considering all of the above: yes, AES is secure. Even AES-128 proved to be downright impossible to crack, not to mention its more powerful counterparts, AES-192, and AES-256.

A lire aussi :

Comment imprimer un fichier PDF protégé (protégé contre l’impression)

AES Encryption – CONCLUSION

All things considered, after reading our extensive guide we hope you learned more about AES, including how it works, what processes it goes through during the encryption process, where it can be used, and how it could be (at a theoretical level) compromised.

The fact that 20 years after its introduction it’s still fast, secure, and can be implemented on a huge variety of hardware and software environments makes it truly deserve its title of being the “gold standard” of encryption techniques.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *