No description
- Python 100%
| messages | ||
| cesar.py | ||
| force_brute.py | ||
| freq.py | ||
| image-1.png | ||
| image-2.png | ||
| image-3.png | ||
| image.png | ||
| README.md | ||
| vigenere.py | ||
TD1 — Cryptographie classique
Exercices sur papier
Exercice 1 — Cesar
-
- Message chiffre (K=5) : QF WJSHTSYWJ JXY UWJAZJ F QF HFKJYJWNF
-
- Message dechiffre (RGNEIDVGPEWXTRAPHHXFJT) : CRYPTOGRAPHIECLASSIQUE, clé = 15
-
- Cle trouvee : L ISEN EST UNE SUPER ECOLE D INGENIEUR
Exercice 2 — Substitution
-
- Message chiffre : BX CHSYFSMCH HVM LCHEUH X BX YXPHMHCZX
-
- YHVMQUVMH dechiffre : CESTJUSTE
-
- Peut-on le casser sans la clé ? Pas de façon certaine sur un message si court.
Exercice 3 — Vigenere (papier)
-
- Message chiffre (cle POULE) :AO LPRRCHEVT SME TGSPFI P ZU NEUSNPVXO
-
- BAUNBEKLZLQSKQKEBGCJYHVSKR dechiffre (cle TNCY) :INSPIRINGYOURDIGITALFUTURE
Exercice 4 — Chiffrement affine
-
- Verification S → J : 3×18+7=61 ≡ 9 mod 26, donc J
-
- SECRET code : JTNGTM
-
- Demonstration : inverse de 3 modulo 26 = 9
-
- KGHSX dechiffre : BRAVO
Exercice 5 — Chiffrement affine (generalisation)
-
- Demonstration (a premier avec 26) : Pas d’inverse modulo 26
- 2a. Existence de u : au ≡ 1 mod 26
- 2b. Fonction de decodage : x ≡ u(y-b) mod 26
- 2c. ZSPS decode (cle 15;2) : FINI
Exercice 6 — Hill
- Partie A : INDICE chiffré = DVUBYO, DVUBYO déchiffré = INDICE, YOWPEE déchiffré = CERISE
- Partie B : INDICE chiffré = HTPQMK, produit MA = 17I, explication clé B = la vraie inverse est 23M, vérification C = 23M : HTPQMK → INDICE
Exercice 7 — ADFGVX
-
- ATTAQUE chiffre : DDFADDDADXFDAG
-
- DFAADDGAFXDDADFA dechiffre : CYBERSECURITE
-
- Pourquoi A, D, F, G, V, X ? lettres très distinctes en Morse
-
- Interet de la double etape : la substitution masque les symboles et la transposition casse les régularités
Exercices Python
Force brute
- Message francais : cle = 7, message clair = "De memoire, Jules Cesar fut assassine le 15 mars par Brutus au senat de Rome"
- Message anglais : cle = 19, message clair = "Cryptography is the science of keeping secrets safe from prying eyes."
Analyse frequentielle
- Message francais : cle devinee = 7, correcte ? Oui
- Message anglais : cle devinee = 19, correcte ? Oui
- Observations : Oui l'algorithme a correctement identifié les clés dès la premiere tentative pour les deux fichier

Vigenere
- Cle trouvee : CODE
- Methode utilisee : Analyse Fréquentielle par groupes
Difficultes rencontrees
Mon pc refusé d'éxécuter pour l'analyse fréquentielle le: import matplotlib.pyplot as plt Donc j'ai du ouvrir un serveur et desactiver des options dans mon powershell. De plus, on a jamais fais de Python de l'année et n'ayant jamais programmée autre que du C avec un niveau bien bas c'était vraiment compliqué de juste comprendre et lire ce que je faisais. Pour la partie papier aucune difficulté tout est bien expliqué.