- Python 100%
| cesar.py | ||
| force_brute.py | ||
| freq.py | ||
| Readme.md | ||
| vigenere.py | ||
TD1 — Cryptographie classique
Exercice 1 — César
Message chiffré (K=5) : QF WJSHTSYWJ JXY UWJAZJ F QF HFKJYJWNF Message déchiffré (RGNEIDVGPEWXTRAPHHXFJT) : _ , clé = 15 Clé trouvée : _ Début du message clair : L’ISEN EST UNE SUPER ÉCOLE D’INGÉNIEUR
Exercice 2 — Substitution
Message chiffré : BX CHSYFSMCH HVM LCHEUH X BX YXPHMHCZX YHVMQUVMH Message déchiffré : _ Peut-on le casser sans la clé ? Oui mais c’est très compliqué à faire manuellement, ça prend énormément de temps.
Exercice 3 — Vigenère (papier)
Message chiffré (clé = POULE) : ___ AOOLPRRCHEVTSMETGSPFIPZUNEUSNP Message déchiffré (clé = TNCY) : INSPIRING YOUR DIGITAL FUTURE
Exercice 4 — Chiffrement affine
Vérification S → J : n(S) = 13 x = 3×18 + 7 = 61 61 - (2×26) = 9 et J = 9 donc c’est bon. SECRET code : JTNGTM
Démonstration : KGHSX → n = 9(x − 7) KGHSX déchiffré : BRAVO
Exercice 5 - Chiffrement de Hill
???????????????
Exercice 6 — Hill
Partie A INDICE chiffré = DVUBYO DVUBYO déchiffré = INDICE YOWPEE déchiffré = CERISE
Partie B INDICE chiffré = HTXZMK Produit MA = 43I Explication : clé B = A⁻¹ B = M/17 Vérification C = 23M : INDICE
Exercice 7 — ADFGVX
ATTAQUE chiffré : DDFA DDD ADXF DAG DFAADDGAFXDDADFA déchiffré : 1D2SEER5CGSE2S Pourquoi A, D, F, G, V, X ? Parce que ce sont les lettres les plus éloignées en code Morse. Intérêt de la double étape : Ça permet de combiner la substitution et transposition ainsi le chiffrement est beaucoup plus sécurisé.
Force brute
- Message français : clé = 7, message clair = De memoire, Jules Cesar fut assassine le 15 mars par Brutus au senat de Rome
- Message anglais : clé = 19, message clair = Cryptography is the science of keeping secrets safe from prying eyes
Analyse fréquentielle
- Message français : clé devinée = 17, correcte ? Oui
- Message anglais : clé devinée = 9, correcte ? Oui
Observations
L'analyse a fonctionné du premier coup pour les deux messages. La stratégie
utilisée est simple : la lettre la plus fréquente dans le texte chiffré est
supposée correspondre à e (lettre la plus fréquente en français comme en
anglais). Le décalage entre cette lettre et e donne directement la clé.
Avant déchiffrement : les barres bleues (texte chiffré) sont décalées vers
la droite par rapport aux barres rouges (fréquences théoriques). Le décalage
visible correspond à la clé.
Après déchiffrement : les barres bleues et rouges se superposent bien, ce
qui confirme que la clé est correcte.
Vigenère
- Clé trouvée : déterminée automatiquement par analyse fréquentielle
- Méthode utilisée:
- Indice de coïncidence: on teste les longueurs de clé de 1 à 20
Difficultés rencontrées
TP très long. L’exo 5 est extremement difficile meme avec l’ia. Le chiffrement de Vigenère est super compliqué à comprendre.