/Projet-Cryptanalyse-AES-5-tours

Projet Cryptanalyse AES à 5 tours

Primary LanguageC

Projet - Cryptanalyse AES 5 tours

Structure du code

Le code est structuré comme suit :

  • src : C'est ici que se trouve l'implémentation du chiffrement AES, ainsi qu'un fichier contenant du code commun aux attaques.
  • include : Ici, se trouve tous les fichiers .h des fichiers .c
  • attacks : Dans ce dossier se trouve les deux attaques implémentés (pour yoyo, il y a deux implémentations basé sur le même algorithme mais codé différemment)

Execution du code

Pour exécuter l'attaque Square, il vous suffit de vous rendre dans le dossier correspondant :

cd attack/square

de compiler :

make

et d'executer :

./square_test

Pour l'attaque yoyo, les commandes sont les mêmes :

cd attack/yoyo
make
./yoyo_test

Parametres

Square

Pour l'attaque Square, vous pouvez tester les deux types d'attaques. Pour cela, il vous suffit de modifier la constante dans le fichier attacks/square/square_test.c:

#define TYPE 1

ou

#define TYPE 2

Par défaut, l'attaque s'effectuera sur une clé aléatoire. Si vous changer ce paramètre :

#define RANDOM 0

la clé par défaut deviendra K0

Yoyo

De même que pour l'attaque Square, l'attaque s'effectuera sur une clé aléatoire.

Notes sur l'implémentation des attaques

Les deux attaques carrées ont été modifiés pour être plus rapide.

  • L'attaque Square de type 1 est réglé pour générer seulement 2 octets sur 5 par parties (4).
  • L'attaque Square de type 2 est réglé pour générer seulement 2 octets sur 5.
  • L'attaque yoyo quand à elle n'est pas réglé pour être plus rapide