Calendrier des clés AES - AES key schedule

AES utilise une nomenclature de touches pour développer une touche courte en un certain nombre de touches rondes distinctes. Les trois variantes AES ont un nombre différent de tours. Chaque variante nécessite une clé ronde de 128 bits distincte pour chaque tour plus une autre. La nomenclature de clés produit les clés rondes nécessaires à partir de la clé initiale.

Constantes d'arrondi

Valeurs de rc i en hexadécimal
je 1 2 3 4 5 6 7 8 9 dix
rc je 01 02 04 08 dix 20 40 80 1B 36

La constante de tour rcon i pour le tour i du développement de clé est le mot de 32 bits :

rc i est une valeur de huit bits définie comme :

où est l' opérateur XOR au niveau du bit et les constantes telles que 00 16 et 11B 16 sont données en hexadécimal . Équivalent :

où les bits de rc i sont traités comme les coefficients d'un élément du corps fini , de sorte que par exemple représente le polynôme .

AES utilise jusqu'à rcon 10 pour AES-128 (car 11 touches rondes sont nécessaires), jusqu'à rcon 8 pour AES-192 et jusqu'à rcon 7 pour AES-256.

Le calendrier clé

Planification de clé AES pour une clé 128 bits.

Définir:

  • N comme longueur de la clé en mots de 32 bits : 4 mots pour AES-128, 6 mots pour AES-192 et 8 mots pour AES-256
  • K 0 , K 1 , ... K N -1 comme mots de 32 bits de la clé d'origine
  • R comme nombre de touches rondes nécessaires : 11 touches rondes pour AES-128, 13 touches pour AES-192 et 15 touches pour AES-256
  • W 0 , W 1 , ... W 4 R -1 comme mots de 32 bits de la clé étendue

Définissez également RotWord comme un décalage circulaire gauche d' un octet :

et SubWord en tant qu'application de la S-box AES à chacun des quatre octets du mot :

Alors pour :

Remarques

Les références

Liens externes