next up previous contents
suivant: Chiffrement monter: Chiffrement précédent: Chiffrement   Table des matières

Notation, structure de données

Avant d'entrer dans le vif du sujet, voici les conventions de notation issues de la spécification du NIST [19701]:

AddRoundKeys() : transformation (pour le chiffrement et le déchiffrement) qui ajoute une clé de tour (Round key) au bloc courant (les clés de l'AES sont de 128 bits).
MixColumns() : transformation qui permute les colonnes d'un bloc lors du chiffrement.
RotWord() : fonction utilisée par la routine d'expansion de la clé qui applique à un mot de 4 octets une permutation ciculaire.
ShiftRows() : transformation qui applique des permutations circulaires aux trois dernières lignes du bloc lors du chiffrement.
SubBytes() : transformation qui opère une substitution non linéaire de chaque octet du bloc en utilisant une table (S-box) lors du chiffrement.
SubWord() : fonction utilisée par la routine d'expansion de la clé qui prend un mot en entrée et applique à ses 4 octets une substitution non linéaire (S-box).
InvMixColumns() : transformation du déchiffrement qui est l'inverse de la transformation MixColumns().
InvShiftRows() : transformation du déchiffrement qui est l'inverse de la transformation ShiftRows().
InvSubBytes() : transformation du déchiffrement qui est l'inverse de la transformation SubBytes().
K : la clé de chiffrement.
Nb : nombre de colonnes (mots de 32 bits) du bloc. Pour l'AES Nb=4.
Nk : nombre de mots de 32 bits dans la clé de chiffrement. Pour l'AES Nk= 4,6 ou 8.
Nr : nombre de tours, fonction de Nb et Nk. Pour l'AES Nr=10,12 ou 14.
Rcon[] : table constante.
     

Le Rijndael opère sur des blocs de données de 128, 192 ou 256 bits (voir figure 1.1 page [*]) en utilisant des clés de chiffrement de 128, 192 ou 256 bits. La taille de bloc retenue pour l'AES est de 128 bits, par souci de commodité semble-t-il.
Un bloc peut être representé comme une matrice d'octets $4\times$Nb (the State). Les octets lus en entrée y sont copiés colonne après colonne (chaque colonne représente un mot lu).
\begin{fig1}
% latex2html id marker 373\caption{structure d'un bloc d'octets}...
...& w_3 = s_{0,3}\; s_{1,3}\; s_{2,3}\; s_{3,3}
\end{array}\end{center}\end{fig1}


next up previous contents
suivant: Chiffrement monter: Chiffrement précédent: Chiffrement   Table des matières
vincent@@@juneeflorentine.net