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)
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
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
De même que pour l'attaque Square, l'attaque s'effectuera sur une clé aléatoire.
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