Cryptanalysis
- CM les Mardis de 14h à 15h20 - A29 / Salle 104
- TD/TP (SageMath) de 15h30 à 18h20 - A28 / Salle 009
Cours 1 - Introduction à la Cryptanalyse
- Slides
- TD - Introduction à SageMath et Cryptanalyse Classique
Challenges
- Cryptanalyse du chiffrement de Hill
- Cryptanalyse de Vigenère
Cours 2 - Chiffrement par Flot et LFSR
- Slides
- TD - Algorithme de Berlekamp-Massey et cryptanalyse de LFSR.
Challenge
Cours 3 - Cryptanalyse de Chiffrements par Flot
- Slides
- TD - Berlekamp-Massey (suite) et attaque par Corrélations.
Challenges
- Cryptanalyse d’un LFSR.
- Retrouver l’état interne du générateur de Geffe ayant produit
cette suite.
Cours 4 - Chiffrement par blocs, cryptanalyse et modes d’opération
- Slides
- TD - Attaque par oracle de padding sur les chiffrements par blocs en mode CBC.
Challenge
Le fichier paddingOracle.py est
obfusqué pour dissimuler les données secrètes, mais expose deux
fonctions:
get_ciphertext(name)
qui vous attribue un chiffré,
is_padding_ok(ciphertext, name)
qui implémente l’oracle.
L’argument name
peut prendre n’importe quelle valeur de la
forme Votre_Pseudo
.
Objectif: Retrouvez votre clair attitré.
Cours 5 - Cryptanalyse Différentielle
- Slides - Introduction et présentation de la cryptanalyse différentielle
- TD - Mise en pratique de la cryptanalyse différentielle sur des chiffrements par blocs simples
Cours 6 - Cryptanalyse Linéaire
- Slides - Introduction et présentation de la cryptanalyse linéaire
- TD - Exemple de cryptanalyse linéaire sur un chiffrement jouet.
Challenge
Le fichier couplesChallenge.sage
contient une liste de couples clair-chiffré obtenus à partir de
l’algorithme de chiffrement par blocs décrit dans ce TD.
Objectif: Retrouvez la clé secrète maître.
Cours 7 - Révisions Cryptanalyse Linéaire et Différentielle
Cours 8 - Cryptanalyse Algébrique
- Slides - Introduction à la Cryptanalyse Algébrique
- TD - Cryptanalyse algébrique de primitives symétriques
Challenge
- Retrouvez l’état interne du LFSR ayant produit cette
suite à l’aide d’une attaque
algébrique.
Cours 9 - Cryptanalyse Algébrique: Aspects Algorithmiques
- Slides - Algorithmique des Systèmes Polynomiaux
Cours 10 - Cryptanalyse et Fonctions de Hachage
- Slides - Cryptanalyse et Fonctions de Hachage
- TD - Recherche générique de Collisions
Challenge
Recherche de collisions de messages ayant du sens.
Cours 11 - Cryptanalyse et Réseaux Euclidiens (I)
- Slides - Introduction aux Réseaux. Motivations de Cryptanalyse
- TD - Révisions Cryptanalyse
- Solutions.
Cours 12 - Cryptanalyse et Réseaux Euclidiens (II)
- Slides - Applications de la Réduction de Réseaux à la Cryptanalyse
- TD - Factorisation de Module RSA avec Information Partielle.
Challenge
Factorisation du module RSA dans le fichier challengeRSA.sage.