Standard d'encryptage avancé - Advanced Encryption Standard


Un article de Wikipédia, l'encyclopédie libre
Advanced Encryption Standard
(Rijndael)
AES-SubBytes.svg
Le SubBytes étape, l' une des quatre étapes d'un cycle de AES
Général
Les concepteurs Vincent Rijmen , Joan Daemen
Première publication 1998
Dérivé de Carré
successeurs Anubis , Grand Cru
certificat AES gagnant, CRYPTREC , Nessie , NSA
Cipher détail
tailles de clés 128, 192 ou 256 bits
Les tailles de bloc 128 bits
Structure réseau Substitution-permutation
Les rounds suivants 10, 12 ou 14 (selon la taille de la clé)
Le meilleur du public cryptanalyse
Les attaques ont été publiées sont plus rapides qu'une informatiquement pleine attaque force brute , mais pas à partir de 2013 sont réalisables informatiquement. Pour AES-128, la clé peut être récupérée avec une complexité de calcul de 2 126,1 en utilisant l' attaque biclique . Pour les attaques biclique sur AES-192 et AES-256, la complexité de calcul de 2 189,7 et 2 254,4 appliquent respectivement. -Clés associés attaques peuvent briser AES-192 et AES-256 avec complexités 2 176 et 2 99.5 dans le temps et les données, respectivement.

Le Advanced Encryption Standard ( AES ), également connu sous son nom d' origine Rijndael ( prononciation Néerlandais: [rɛindaːl] ), est une spécification pour le cryptage des données électroniques établies par les Etats - Unis Institut national des normes et de la technologie (NIST) en 2001.

AES est un sous - ensemble de l'Rijndael chiffrement par bloc développé par deux belges cryptographes, Vincent Rijmen et Joan Daemen , qui ont soumis une proposition visant à NIST au cours du processus de sélection AES . Rijndael est une famille de chiffrements avec différentes tailles de clés et bloc.

Pour AES, le NIST a sélectionné trois membres de la famille Rijndael, chacun avec une taille de bloc de 128 bits, mais trois longueurs différentes clés: 128, 192 et 256 bits.

AES a été adopté par le gouvernement américain et est maintenant utilisé dans le monde entier. Elle remplace la norme de chiffrement des données , qui a été publiée en 1977. (DES) L'algorithme décrit par AES est un algorithme à clé symétrique , ce qui signifie la même clé est utilisée pour les chiffrer et déchiffrer les données.

Aux États-Unis, AES a été annoncé par le NIST comme US FIPS PUB 197 (FIPS 197) le 26 Novembre 2001. Cette annonce fait suite à un processus de normalisation de cinq ans qui ont été présentés et évalués quinze modèles concurrents, avant le chiffre Rijndael était choisi comme le plus approprié (voir Advanced Encryption processus standard pour plus de détails).

AES est entré en vigueur en tant que norme du gouvernement fédéral le 26 mai 2002, après approbation par le Secrétaire du Commerce . AES est inclus dans la norme ISO / CEI 18033-3. AES est disponible dans de nombreux paquets de chiffrement, et est le premier (et seulement) accessibles au public de chiffrement approuvé par l' Agence nationale de sécurité (NSA) pour secret des informations en cas d' utilisation dans un NSA approuvé module cryptographique (voir la sécurité de l' AES , ci - dessous).

normes définitives

Le Advanced Encryption Standard (AES) est définie dans chacune:

  • FIPS PUB 197: Advanced Encryption Standard (AES)
  • ISO / CEI 18033-3 :: Bloc chiffrements

Description de l'algorithme de chiffrement

AES est basée sur un principe de conception connu comme un réseau permutation de substitution , et est efficace dans les deux logiciels et le matériel. Contrairement à son prédécesseur DES, AES ne pas utiliser un réseau de Feistel . AES est une variante de Rijndael fixe qui a une taille de bloc de 128 bits de , et une taille de clé de 128, 192 ou 256 bits. En revanche, Rijndael en soi est spécifiée avec le bloc et des tailles de clé qui peuvent être un multiple de 32 bits, avec un minimum de 128 et un maximum de 256 bits.

AES fonctionne sur un 4 × 4 afin colonne principale tableau d'octets, appelé état . La plupart des calculs AES sont effectués dans un particulier champ fini .

Par exemple, s'il y a 16 octets, ces octets sont représentés comme ce tableau à deux dimensions:

La taille de la clé utilisée pour un chiffrement AES indique le nombre de tours de transformation qui convertissent l'entrée, appelée texte brut , dans la sortie finale, appelée cryptogramme . Le nombre de tours sont les suivantes:

  • 10 tours pour les clés de 128 bits.
  • 12 tours pour les clés de 192 bits.
  • 14 tours pour les clés 256 bits.

Chaque tour se compose de plusieurs étapes de traitement, y compris celui qui dépend de la clé de chiffrement lui-même. Un ensemble de tours inverses sont appliquées pour transformer cryptogramme de nouveau dans le texte en clair d'origine en utilisant la même clé de cryptage.

Description de haut niveau de l'algorithme

  1. KeyExpansion clés -ROUND sont dérivées de la clé de chiffrement en utilisant le calendrier clé de Rijndael . AES nécessite un bloc clé ronde 128 bits pour chaque tour plus un plus.
  2. Outre la touche ronde initiale:
    1. AddRoundKey octet -chaque de l'état est associé à un bloc de la clé ronde en utilisant XOR au niveau du bit .
  3. 9, 11 ou 13 cycles:
    1. SubBytes de non-linéaire étape de substitution où chaque octet est remplacé par un autre en fonction d'une table de consultation .
    2. ShiftRows -a étape de transposition où les trois dernières lignes de l'état sont décalées de façon cyclique un certain nombre d'étapes.
    3. MixColumns l'opération de mélange linéaire de qui agit sur les colonnes de l'état, en combinant les quatre octets dans chaque colonne.
    4. AddRoundKey
  4. Phase finale (fabrication de 10, 12 ou 14 tours au total):
    1. SubBytes
    2. ShiftRows
    3. AddRoundKey

Les SubBytes étape

Dans le SubBytes étape, chaque octet dans l'état est remplacée par son entrée dans une table de consultation de 8 bits fixe, S ; b ij = S (a ij ) .

Dans le SubBytes étape, chaque octet dans l' état réseau est remplacé par un SubByte en utilisant un 8-bit boîte de substitution . Cette opération permet la non-linéarité dans le chiffrement . Le S-boîte utilisée est dérivée de l' inverse multiplicatif sur GF (2 8 ) , connu pour avoir de bonnes propriétés de non-linéarité. Pour éviter les attaques basées sur les propriétés algébriques simples, la boîte S est construit en combinant la fonction inverse avec une inversible transformation affine . Le S-box est également choisie pour éviter des points fixes (et est donc un dérangement ), soit , ainsi que des points fixes opposés, à savoir . Tout en effectuant le décryptage, le InvSubBytes étape (l'inverse de SubBytes ) est utilisé, ce qui nécessite d'abord de prendre l'inverse de la transformation affine, puis de trouver l'inverse multiplicatif.

Les ShiftRows étape

Dans le ShiftRows étape, les octets dans chaque rangée de l'état sont décalées cycliquement vers la gauche. Le nombre de places chaque octet est décalé différent pour chaque ligne.

La ShiftRows étape opère sur les lignes de l'état; elle se déplace de manière cyclique les octets dans chaque rangée par un certain décalés . Pour AES, la première rangée est laissé inchangé. Chaque octet de la deuxième rangée est décalée une vers la gauche. De même, les troisième et quatrième rangées sont décalées par des décalages de deux et trois , respectivement. De cette façon, chaque colonne de l'état de sortie de la ShiftRows étape est composée d'octets de chaque colonne de l'état d'entrée. L'importance de cette étape est d'éviter les colonnes étant codées indépendamment, auquel cas AES dégénère en quatre chiffrements par blocs indépendants.

La MixColumns étape

Dans le MixColumns étape, chaque colonne de l'état est multiplié par un polynôme fixe .

Dans le MixColumns étape, les quatre octets de chaque colonne de l'état sont combinées en utilisant une inversible transformation linéaire . La MixColumns fonction prend quatre octets en entrée et en sortie de quatre octets, chaque octet d'entrée affecte tous les quatre octets de sortie. En collaboration avec ShiftRows , MixColumns fournit la diffusion dans le chiffrement.

Pendant cette opération, chaque colonne est transformée en utilisant une matrice fixe (matrice gauche multipliée par colonne donne une nouvelle valeur de la colonne à l'état):

La multiplication de matrices est composé de multiplication et l' addition des entrées. Les entrées sont des octets de 8 bits traités en tant que coefficients de polynôme d'ordre . L' addition est tout simplement XOR. La multiplication est modulo polynôme irréductible . Si le bit traité par bit, puis, après décalage, un conditionnel XOR avec 1B 16 doit être effectuée si la valeur décalée est plus grande que FF 16 (trop - plein doit être corrigée par soustraction du polynôme générateur). Ce sont des cas particuliers de la multiplication habituelle .

En sens plus général, chaque colonne est traitée comme un polynôme sur et est ensuite multipliée modulo un polynôme fixe . Les coefficients sont affichées dans leur hexadécimal équivalent de la représentation binaire des polynômes binaires de . La MixColumns étape peut également être considérée comme une multiplication par le particulier représenté matrice MDS dans le champ fini . Ce processus est décrit plus loin dans l'article Rijndael MixColumns .

La AddRoundKey étape

Dans le AddRoundKey étape, chaque octet de l'état est associé à un octet de la sous - clé ronde à l' aide du XOR opération (⊕).

Dans la AddRoundKey étape, la sous - clé est associée à l'état. Pour chaque tour, une sous - clé est dérivée de la principale clé en utilisant le calendrier clé de Rijndael ; chaque sous - clé est la même taille que l'état. La sous - clé est ajoutée en combinant chaque octet de l'état de l'octet correspondant de la sous - clé en utilisant au niveau du bit XOR .

Optimisation du chiffrement

Sur les systèmes avec 32 bits ou plus mots, il est possible d'accélérer l'exécution de ce chiffre en combinant les SubBytes et ShiftRows étapes avec le MixColumns étape en les transformant en une séquence de consultations de tables. Cela nécessite quatre tables 32 bits 256 entrées (ensemble occupant 4096 octets). Un cycle peut alors être réalisé avec 16 la table des opérations de recherche et de 12 à 32 bits OU exclusif opérations, suivi de quatre-exclusif ou 32 bits opérations dans le AddRoundKey étape. En variante, la table opération de recherche peut être effectuée avec une seule table 32-bit 256-entrée (occupant 1024 octets) , suivi par les opérations de rotation circulaire.

En utilisant une approche orientée octet, il est possible de combiner les SubBytes , ShiftRows et MIXCOLUMNS étapes en une seule opération ronde.

Sécurité

Jusqu'en mai 2009, les seules attaques réussies publiées contre les AES complètes étaient attaques secondaires sur certaines implémentations spécifiques. L' Agence nationale de sécurité (NSA) a examiné tous les finalistes AES, y compris Rijndael, et a déclaré que tous étaient suffisamment en sécurité pour le gouvernement des États - Unis des données non classées. En Juin 2003, le gouvernement américain a annoncé que AES pourrait être utilisé pour protéger les informations classifiées :

La conception et la force de toutes les longueurs clés de l'algorithme AES (ie, 128, 192 et 256) sont suffisantes pour protéger les informations classifiées jusqu'au niveau SECRET. informations SECRET nécessite l'utilisation soit de 192 ou 256 longueurs de clé. La mise en œuvre des AES dans les produits destinés à protéger les systèmes de sécurité nationale et / ou de l'information doit être examiné et certifié par la NSA avant leur acquisition et à l'utilisation.

AES a 10 tours pour les clés de 128 bits, 12 tours pour les clés de 192 bits, et 14 tours pour les clés 256 bits.

En 2006, les meilleures attaques connues étaient 7 tours pour les clés 128 bits, 8 tours pour les clés de 192 bits, et 9 tours pour les clés 256 bits.

attaques connues

Pour cryptographes, un cryptographique « rupture » est quelque chose plus rapide qu'une attaque par force brute - à savoir, effectuer un décryptage d'essai pour chaque clé possible dans l' ordre (voir cryptanalyse ). Une rupture peut donc inclure les résultats qui sont infaisables avec la technologie actuelle. En dépit d' être peu pratique, les pauses théoriques peuvent parfois donner un aperçu des schémas de vulnérabilité. Le plus grand succès public connu attaque par force brute contre un algorithme de chiffrement par blocs de chiffrement largement mis en œuvre était contre un 64 bits RC5 clé par distributed.net en 2006.

L'espace clés augmente d'un facteur de deux pour chaque bit supplémentaire de longueur de clé, et si toutes les valeurs possibles de la clé est équiprobable, cela se traduit par un doublement de la force brute moyenne dans le temps de recherche de clé. Cela implique que l'effort d'une recherche force brute augmente de manière exponentielle avec la longueur de clé. Longueur de la clé en elle-même ne signifie pas la sécurité contre les attaques, car il y a chiffrements avec des touches très longues qui ont été jugées vulnérables.

AES dispose d' un cadre algébrique assez simple. En 2002, une attaque théorique, appelée la « attaque XSL », a été annoncé par Nicolas Courtois et Josef Pieprzyk , prétendant montrer une faiblesse dans l'algorithme AES, en partie en raison de la faible complexité de ses composants non linéaires. Depuis lors, d' autres documents ont montré que l'attaque, initialement présentée, est impraticable; voir attaque XSL sur chiffrements par bloc .

Au cours du processus de sélection AES, les développeurs d'algorithmes concurrents écrit de l'algorithme de Rijndael « ... nous sommes préoccupés par [son] ... utiliser dans les applications de sécurité critiques. » En Octobre 2000, cependant, à la fin du processus de sélection AES, Bruce Schneier , un développeur de l'algorithme concurrent Twofish , a écrit que , alors qu'il pensait être mis au point avec succès des attaques universitaires sur Rijndael un jour, il n'a pas « croire que tout le monde sera jamais découvrir une attaque qui permettra à quelqu'un de lire le trafic Rijndael ».

En 2009, une nouvelle attaque liée clé a été découverte qui exploite la simplicité de programme clé AES et a une complexité de 2 119 . En Décembre 2009 , il a été amélioré à 2 99.5 . Ceci est suivi d'une attaque plus tôt découvert en 2009 par Alex Biryukov , Dmitry Khovratovich et Ivica Nikolić, avec une complexité de 2 96 pour une personne sur 2 35 clés. Cependant,-clés liées attaques ne sont pas préoccupants dans un protocole cryptographique bien conçu, comme un protocole bien conçu (ie, le logiciel de mise en oeuvre) prendra soin de ne pas laisser les clés liées, essentiellement en limitant les moyens d'un attaquant de sélection des clés pour apparentement.

Une autre attaque a été blogué par Bruce Schneier le 30 Juillet 2009, et publié en prépublication le 3 Août 2009. Cette nouvelle attaque, par Alex Biryukov, Orr Dunkelman, Nathan Keller, Dmitry Khovratovich et Adi Shamir , est contre AES-256 qui utilise deux clés connexes et 2 39 temps pour récupérer la clé 256 bits complète d'une version 9-tour, ou 2 45 temps pour une version 10-ronde avec un fort type d'attaque de sous - clé associée, ou 2 70 temps pour un la version 11-ronde. 256-bit AES utilise 14 tours, de sorte que ces attaques ne sont pas efficaces contre toute AES.

La pratique de ces attaques avec des clés connexes plus fort a été critiquée, par exemple, par le document sur les « choisis-clés des relations-in-the-middle » sur AES-128 par Vincent Rijmen publiés en 2010.

En Novembre 2009, la première attaque distinctive clé connue contre une version réduite de 8 tour de AES-128 a été libéré en prépublication. Cette attaque distinctive connue clé est une amélioration du rebond, ou le démarrage de l'intercepteur attaque contre les permutations AES-like, selon lesquelles les deux séries consécutives de permutation comme l'application d'un soi-disant Super-Sbox. Il fonctionne sur la version 8-ronde de AES-128, avec une complexité temporelle de 2 48 et une complexité mémoire de 2 32 . AES 128 bits utilise 10 tours, de sorte que cette attaque n'est pas efficace contre toute AES-128.

Les premières attaques clé de récupération sur AES complet étaient dus à Andreï Bogdanov, Dmitry Khovratovich, et Christian Rechberger, et ont été publiés en 2011. L'attaque est une attaque biclique et est plus rapide que la force brutale par un facteur d'environ quatre. Il a besoin de 2 126,2 opérations pour récupérer une clé AES-128. Pour AES-192 et AES-256, 2 190,2 et 2 254,6 opérations sont nécessaires, respectivement. Ce résultat a été encore améliorée à 2 126,0 pour AES-128, 2 189,9 pour AES-192 et 2 254,3 pour AES-256, qui sont les meilleurs résultats actuels dans l' attaque clé de récupération contre AES.

Ceci est un gain très faible, comme une clé 126 bits ( au lieu de 128 bits) serait encore prendre des milliards d'années à la force brute sur le matériel actuel et prévisible. En outre, les auteurs calculent la meilleure attaque en utilisant leur technique sur AES avec une clé de 128 bits nécessite le stockage 2 88 bits de données. Cela équivaut à environ 38000000000000 téraoctets de données, ce qui est plus que toutes les données stockées sur tous les ordinateurs de la planète en 2016. En tant que tel, c'est une attaque sérieusement pratique qui n'a pas d' incidence pratique sur la sécurité AES. La complexité de l' espace a été ensuite amélioré à 2 56 bits, qui est 9007 téraoctets.

Selon les documents Snowden , la NSA est en train de faire des recherches si une attaque cryptographique sur la base statistique de la protéine tau peut aider à briser AES.

À l'heure actuelle, il n'y a pas d'attaque pratique connue qui permettrait à une personne sans connaissance de la clé pour lire les données cryptées par AES lorsqu'elles sont appliquées correctement.

Les attaques secondaires

Les attaques secondaires n'attaquent pas le chiffre comme une boîte noire , et donc ne sont pas liés à la sécurité de chiffrement tel que défini dans le contexte classique, mais sont importants dans la pratique. Ils attaquent les mises en œuvre du chiffrement sur les systèmes matériels ou logiciels qui fuient par inadvertance des données. Il existe plusieurs attaques connues sur les différentes implémentations de AES.

En Avril 2005, DJ Bernstein a annoncé une attaque cache-temps qu'il a utilisé pour briser un serveur personnalisé qui utilise OpenSSL chiffrement de AES. L'attaque nécessaire plus de 200 millions plaintexts choisis. Le serveur personnalisé a été conçu pour donner autant d' informations que possible synchronisation (les rapports de serveur principal le nombre de cycles de la machine prises par l'opération de chiffrement); cependant, comme Bernstein a souligné, « réduire la précision des horodateurs du serveur, ou en les éliminant à partir des réponses du serveur, ne vous arrêtez pas l'attaque: le client utilise simplement les horaires aller-retour en fonction de son horloge locale, et compense augmentation du bruit en faisant la moyenne sur un plus grand nombre d'échantillons « .

En Octobre 2005, Dag Arne Osvik, Adi Shamir et Eran Tromer a présenté un document montrant plusieurs attaques de cache timing contre les implémentations en AES trouvées dans OpenSSL et Linux dm-cryptfonction de chiffrement de la partition. Une attaque a été en mesure d'obtenir une clé AES entière après seulement 800 opérations de déclenchement chiffrements, dans un total de 65 millisecondes. Cette attaque nécessite l'attaquant d'être en mesure d'exécuter des programmes sur le même système ou plate - forme qui exécute AES.

En Décembre 2009 , une attaque sur certaines implémentations matérielles a été publié qui a utilisé l' analyse de défaut différentiel et permet la récupération d'une clé avec une complexité de 2 32 .

En Novembre 2010 Endre Bangerter, David Gullasch et Stephan Krenn a publié un document qui décrit une approche pratique pour une reprise « en temps quasi réel » des clés secrètes de AES-128, sans la nécessité d'un texte chiffré soit ou texte brut. L'approche fonctionne également sur les implémentations AES-128 qui utilisent des tables de compression, comme OpenSSL. Comme des attaques antérieures celui-ci requiert la capacité d'exécuter du code sur le système sans privilège d'effectuer le cryptage AES, qui peut être atteint par une infection des logiciels malveillants beaucoup plus facilement que réquisitionnant le compte root.

En Mars 2016, Ashokkumar C., Ravi Prakash Giri et Bernard Menezes ont présenté une attaque à canal latéral très efficace sur les implémentations AES qui peuvent récupérer les 128 bits complète clé AES en seulement 6-7 blocs de texte en clair / cryptogramme qui est une amélioration substantielle sur des travaux antérieurs qui nécessitent entre 100 et un million de chiffrements. L'attaque proposée nécessite des privilèges utilisateur standard que les attaques précédentes et des algorithmes de récupération clés fonctionnent sous une minute.

De nombreux processeurs modernes ont intégré des instructions matérielles pour AES , qui protégerait contre les attaques de canal latéral liés à la synchronisation.

validation NIST / CSTC

Le Programme de validation des modules cryptographiques (PVMC) est exploité conjointement par les États-Unis Gouvernement Institut national des normes et de la technologie (NIST) Computer Division de la sécurité et de la sécurité des télécommunications (CST) du gouvernement du Canada. L'utilisation de modules cryptographiques validés au NIST FIPS 140-2 est requis par le gouvernement des États-Unis pour le chiffrement de toutes les données qui a une classification sensibles mais non (SBU) ou au- dessus. De NSTISSP # 11, la politique nationale régissant l'acquisition d'assurance de l' information: « Les produits de chiffrement pour la protection des informations classifiées sera certifié par la NSA, et les produits de chiffrement destinés à la protection des informations sensibles sera certifié selon NIST FIPS 140-2. »

Le gouvernement du Canada recommande également l'utilisation de FIPS 140 modules cryptographiques validés dans les applications non classifiées de ses services.

Bien que la publication NIST 197 ( « FIPS 197 ») est le document unique qui couvre l'algorithme AES, les fournisseurs abordent généralement le PVMC sous FIPS 140 et demander que plusieurs algorithmes (tels que Triple DES ou SHA1 ) validé en même temps. Par conséquent, il est rare de trouver des modules cryptographiques qui sont FIPS unique 197 et NIST validés lui - même ne prend pas en général le temps de la liste FIPS 197 modules validés séparément sur son site Web public. Au lieu de cela, FIPS 197 validation est généralement juste inscrite comme: la notation (avec un FIPS spécifique 197 numéro de certificat) dans la liste actuelle des FIPS 140 modules cryptographiques validés « FIPS approuvé AES ».

Le programme de validation de l'algorithme de chiffrement (CAVP) permet une validation indépendante de la mise en œuvre correcte de l'algorithme AES à un coût raisonnable. les résultats de la validation avec succès dans Cotée sur la page du NIST de validation. Ce test est une condition préalable pour la validation du module FIPS 140-2 décrit ci-dessous. Cependant, la validation de CAVP succès ne signifie nullement que le module cryptographique mise en oeuvre de l'algorithme est sécurisé. Un module cryptographique manque validation FIPS 140-2 ou d'approbation spécifique par la NSA est pas considérée comme sûre par le gouvernement des États-Unis et ne peuvent pas être utilisés pour protéger les données du gouvernement.

FIPS 140-2 est difficile à atteindre à la fois sur le plan technique et sur le plan financier. Il y a une batterie de tests normalisés ainsi qu'un élément de révision du code source qui doit être passé sur une période de quelques semaines. Le coût pour effectuer ces tests par un laboratoire agréé peut être important (par exemple, bien plus de 30.000 $ US) et ne comprend pas le temps qu'il faut pour écrire, tester, documenter et préparer un module de validation. Après validation, les modules doivent être soumis à nouveau et réévaluées si elles sont modifiées de quelque façon. Cela peut varier de simples mises à jour de la paperasserie si la fonctionnalité de sécurité n'a pas changé d'un ensemble plus important de re-tester si la fonctionnalité de sécurité a été impacté par le changement.

vecteurs de test

vecteurs de test sont un ensemble de chiffrements connus pour une entrée donnée et la clé. NIST distribue la référence des vecteurs de test AES AES connu test de réponse (KAT) vecteurs.

Performance

Haute vitesse et de faibles besoins de RAM étaient les critères du processus de sélection AES. Comme l'algorithme choisi, AES bien performé sur une grande variété de matériel, de 8 bits cartes à puce aux ordinateurs haute performance.

Sur un Pentium Pro , le cryptage AES nécessite 18 cycles d'horloge par octet, ce qui équivaut à un débit d'environ 11 Mo / s pour un processeur de 200 MHz. Sur un 1,7 GHz Pentium M débit est d' environ 60 Mo / s.

Sur Intel Core i3 / i5 / i7 et AMD Ryzen processeurs supportant jeu d'instructions AES-NI extensions, le débit peut être plusieurs Go / s (même plus de 10 Go / s).

implémentations

Voir également

Remarques

  1. ^ Taillesclés de 128, 160, 192, 224 et 256 bits sont prischarge par l'algorithme Rijndael, mais seulement les 128, 192 et tailles 256 bits sont spécifiées dans la norme AES.
  2. ^ Bloc tailles de 128, 160, 192, 224, et 256 bits sont prischarge par l'algorithme Rijndael pour chaque tailleclé, mais seulement la taille de bloc128 bits est spécifié dans la norme AES.
  3. ^ Variantes Grande-bloc de Rijndael utilisent un tableau aveccolonnes supplémentaires, mais toujours quatre lignes.
  4. ^ Rijndael variantes avec une taille de bloc plus ontdécalages légèrement différentes. Pourblocs de tailles 128 bits et 192 bits, le motifdécalage est le même. Rangéeest décalée circulaire gauche paroctets. Pour un bloc256 bits, la première ligne est inchangé et le décalage pour la deuxième, troisième et quatrième rangée est1 octet, 3 octets et 4 octetsrespectivement, cette modification ne concerne que pour le chiffrement Rijndael lorsqu'ilutilisé avec un bloc256 bits , AES n'utilise pasblocs256 bits.
  5. ^ L'AES connu Test réponse (KAT)vecteurs sont disponibles au format Zip dans le site NIST ici Archivé 2009-10-23 à la Wayback Machine .

Références

Liens externes