Beruflich Dokumente
Kultur Dokumente
Canevas de situation problème
Objectifs
Conventions
Les entrées et les sorties d’AES consistent en des séquences de 128 bits. La clé secrète de
chiffrement est une suite de 128, 192 ou 256 bits.
Dans AES, les octets correspondent à des séquences de 8 bits interprétées comme des
éléments du corps fini à 256 éléments F256. Ensuite, tout flux d’octets est organisé sous forme
matricielle, selon un modèle illustré dans la figure 1. Cette matrice aura nécessairement 4
lignes et un nombre de colonnes fonction de la taille du flux, définissant ainsi une taille de
bloc N.
1
Par exemple, pour les flux d’entrée/sortie qui, dans AES, correspondent à des séquences de 16
octets, on obtiendra des matrices de 4 lignes et Nb = 4 colonnes. De même,
Pour être tout à fait exact, l’algorithme AES n’est pas exactement celui de Rijndael
(l’algorithme DES) dans la mesure où ce dernier supporte des tailles de blocs plus nombreux
qu’AES. AES fixe la taille de blocs à 128 bits - représenté par Nb = 4. Nb reflète le nombre de
mots de 32 bits dans un bloc (c’est aussi le nombre de colonnes nécessaire pour une
représentation matricielle). AES utilise des clés de 128, 192 ou 256 bits. La longueur de clé
est caractérisée de façon similaire par Nk = 4, 6 ou 8. Comme DES, AES exécute une
séquence de rondes qui seront détaillés dans la suite. On note Nr le nombre de rondes qui
doivent être effectuées. Ce nombre dépend des valeurs de Nb et de Nk. Les différentes
configurations possibles sont détaillées dans le tableau ci-dessous.
La compilation des sources produites devra fournir un exécutable aes accompagné d’un
rapport du travail.
Libre à vous également d’implémenter d’autres options (pour permettre par exemple de
supporter tous les modes de chiffrements (AES-128, AES-192, AES-256)).
2
ACTIVITE 2 : Implémentation de l’algorithme SHA
Objectif
Description
SHA (Secure Hash Algorithm) est une famille de fonctions de hachage cryptographique
utilisée par les autorités de certification pour signer certificats et CRL (Certificate Revocation
List). Il existe alors plusieurs versions de SHA : SHA0 (obsolète puisque totalement
vulnérable), SHA1 (actuellement le plus utilisé), SHA2 (qui nous intéresse) et enfin le tout
dernier SHA3 né en 2012.
Résultat attendu
2. Un exécutable sha256
3. Un rapport du travail