Société de Sécurité Informatique - Audit Firewall Appliance
La sécurité informatique - La sécurité des informations

L'AES : Advanced Encryption Standard


Envoyer cet article par Email !Imprimer cet article !Exporter cet article en PDF !FacebookTwitterGoogle Bookmarks

Background

L'AES (Advanced Encryption Standard) est, comme son nom l'indique, un standard de cryptage symétrique destiné à remplacer le DES (Data Encryption Standard) qui est devenu trop faible au regard des attaques actuelles.

Présentation générale

Historiquement, le développement de l'AES a été instigué par le NIST (National Institue of Standards and Technology) le 2 janvier 1997. L'algorithme a été choisi il y a peu de temps : il s'agit de l'algorithme Rijndael (prononcer "Raindal"). Cet algorithme suit les spécifications suivantes :


En termes décimaux, ces différentes tailles possibles signifient concrètement que:
3.4 x 1038 clés de 128-bit possibles
6.2 x 1057 clés de 192-bit possibles
1.1 x 1077 clés de 256-bit possibles
Pour avoir un ordre d'idée, les clés DES ont une longueur de 56 bits (64 bits au total dont 8 pour les controls de parité), ce qui signifie qu'il y a approximativement 7.2 x 1016 clés diférentes possibles. Cela nous donne un ordre de 1021 fois plus de clés 128 bits pour l'AES que de clés 56 bits pour le DES. En supposant que l'on puisse construire une machine qui pourrait cracker une clé DES en une seconde (donc qui puisse calculer 255 clés par seconde), alors cela prendrait encore 149 mille milliards d'années pour cracker une clé AES. Pour donner un ordre d'idée plus concret, l'univers est vieux de 20 milliards d'années au maximum.

Pour conclure sur cet aspect, on voit que le standard AES répond aux mêmes exigences que le DES mais il est également beaucoup plus sûr et flexible que son prédécesseur.

Caractéristiques et points forts de l'AES


Le choix de cet algorithme répond à de nombreux critères plus généraux dont nous pouvons citer les suivants :

Si l'on se réfère à ces critères, on voit que l'AES est également un candidat particulièrement approprié pour les implémentations embarquées qui suivent des règles beaucoup plus strictes en matière de ressources, puissance de calcul, taille mémoire, etc... C'est sans doute cela qui a poussé le monde de la 3G (3ème génération de mobiles) à adopter l'algorithme pour son schéma d'authentification "Millenage".

Détails techniques

L'AES opère sur des blocs de 128 bits (plaintext P) qu'il transforme en blocs cryptés de 128 bits (C) par une séquence de Nr opérations ou "rounds", à partir d'une clé de 128, 192 ou 256 bits. Suivant la taille de celle-ci, le nombre de rounds diffère : respectivement 10, 12 et 14 rounds.

Le schéma suivant décrit succintement le déroulement du chiffrement :
Le déchiffrement consiste à appliquer les opérations inverses, dans l'ordre inverse et avec des sous-clés également dans l'ordre inverse.


Comparaisons des algorithmes au niveau de la sécurité

Attaques par dictionnaires


Nous allons comparer ici l'AES au 3DES qui est son concurrent le plus direct (le DES n'étant pratiquement plus utilisé dans sa forme simple). Le 3DES est, comme son nom l'indique, l'enchainement de 3 DES simples dans l'ordre DES / DES-1 / DES. Il est évident à prime abord que chaque opération utilise une clé distincte, car sans cela les 2 premières s'annuleraient (DES / DES-1). Mais en pratique, on n'utilise que 2 clés différentes (que l'on alterne) car l'utilisation d'une troisième clé ne rajoute aucune sécurité.

En effet, l'attaque la plus courante contre le triple DES consiste à créer des dictionnaires multiples de facon à scinder le schéma en 2 parties et diminuer ainsi d'autant le nombre de possibilités à tester. En pratique, on séparera les 2 premières opérations DES de la 3ième et dernière.


La première partie conduit à l'élaboration d'un dictionnaire dont la taille est définie par le calcul suivant: le premier DES utilise une clé de 56 bits, il y a donc 256 cas possibles. C'est pareil pour le deuxième DES, sauf que qu'il faut le multiplier au premier cas, soit un total de 2112 possibilités.

La deuxième partie ne comporte qu'un seul DES, donc 256 possibilités pour la clé. Il suffit ensuite de faire correspondre ces 2 dictionnaires pour trouver la valeur qui est commune aux 2, nous donnant ainsi la bonne combinaison de clés.

De manière générale et arrondie, la sécurité de l'algorithme peut donc être évaluée à 2113.

En ce qui concerne l'AES, c'est un algorithme qui ne présente qu'un seule étape, donc le calcul est simple : comme cité précédement, il y 2128 clés possibles (dans la version minimale ou la clé ne fait "que" 128 bits de long). C'est directement la force de l'algorithme.

Attaques par cryptanalyse différentielle (DC)


L'attaquant choisit des textes clairs présentant une différence fixe, calcule les chiffrés (en ayant accès au système) et leurs différences puis assigne des probabilités à certains types de clés. Plus le nombre d'essais augmente, plus la probabilité de la bonne clé devient forte.

Dans le cas du DES simple, cette attaque nécessite 247 textes clairs et 247 chiffrements pour retrouver la clé; néanmoins, les textes clairs doivent être soigneusement choisis.

L'AES est lui résistant à ce type d'attaque.

Attaques par cryptanalyse linéaire (LC)


L'attaquant utilise des approximations linéaires pour décrire les opérations conduisant au chiffré. Comme précédemment, plus le nombre d'essais augmente, plus la probabilité de la bonne clé devient forte.

Cette attaque est actuellement la plus performante puisqu'elle ne nécessite que 243 textes clairs et 243 chiffrements pour retrouver une clé DES (simple).

L'AES est lui résistant à ce type d'attaque.

Conclusion


En conclusion, l'AES est plus sûr que le 3DES car il présente, entre autres, une plus grande résistance aux attaques par dictionnaires de clés. Les autres attaques ne sont pas appliquables dans son cas.

SoGoodToBe
04 Novembre 2001

Ils nous font confiance
© 2014 - Tous droits réservés - SecuriteInfo.com