No description
- Python 100%
| Ceasar.py | ||
| force.py | ||
| frequency.py | ||
| Readme.amd | ||
| vigebnère.py | ||
# TD1 - Cryptographie classique Exercice 1 - Cesar - 1. Message chiffre (K=5) : **QF WJSHTSYWJ JXY UWJAZJ F QF HFKJYJWQF** - 2. Message dechiffre (RGNEIDVGPEWXTRAPHHXFJT) : **CRYPTOGRAPHIECLASSIQUE**, cle = **15** - 3. Cle trouvee : **16**, debut du message clair : **l isen est une super ecole** Exercice 2 - Substitution - 1. Message chiffre : **_X CHSYFSMCH HVM LCH_UH X _X YXPHMHC_X** *(Impossible à terminer complètement car la table de la clé de substitution est tronquée dans l'image)* - 2. YHVMQUVMH dechiffre : **c est juste**. Peut-on le casser sans la cle ? **Oui, par l'analyse des fréquences ou la reconnaissance de motifs/mots si le texte est suffisamment long.** Exercice 3 - Vigenere (papier) - 1. Message chiffre (cle POULE) : **AOLPRRCHEVTSMETGSPFIPZUNEUSNPVXO** - 2. BAUNBEKLZLQSKQKEBGCJYHVSKR dechiffre (cle TNCY) : **INSPIRINGYOURDIGITALFUTURE** Exercice 4 - Chiffrement affine - 1. Verification S -> J : **S=18, donc x ≡ 3(18) + 7 ≡ 61 ≡ 9 [26]. Le numéro 9 correspond bien à la lettre J.**A - 2. SECRET code : **JTNGTM** - 3. Demonstration : **Si y ≡ 3x + 7 [26], alors y - 7 ≡ 3x [26]. L'inverse modulaire de 3 modulo 26 est 9 (car 3 × 9 = 27 ≡ 1 [26]). On multiplie par 9 : 9(y - 7) ≡ x [26], soit x ≡ 9y - 63 ≡ 9y + 15 [26].** - 4. KGHSX dechiffre : **BRAVO** Exercice 5 - Chiffrement affine (generalisation) - 1. Demonstration (a premier avec 26) : **Pour que la fonction de chiffrement soit inversible (déchiffrement unique), le coefficient "a" doit admettre un inverse modulaire, ce qui nécessite que PGCD(a, 26) = 1.** - 2a. Existence de u : **D'après le théorème de Bachet-Bézout, si a et 26 sont premiers entre eux, il existe u et v entiers tels que au + 26v = 1, soit au ≡ 1 [26].** - 2b. Fonction de decodage : **x ≡ u(y - b) [26]** - 2c. ZSPS decode (cle 15;2) : **FINI** *(L'inverse de 15 modulo 26 est 7, la formule est donc x = 7(y - 2) [26])* Exercice 6 - Hill - Partie A : INDICE chiffre = **DVUBYO**, DVUBYO dechiffre = **INDICE**, YOWPEE dechiffre = **CERISE** - Partie B : INDICE chiffre = **HTPQMK**, produit MA = **43 × I (soit une matrice diagonale avec 43)**, explication cle B = **L'inverse matricielle classique (dans ℝ) produit des fractions car on divise par le déterminant 43, ce qui est inexploitable pour un chiffrement modulo 26 ; il faut utiliser son inverse modulaire.**, verification HTPQMK dechiffre = **INDICE** Exercice 7 - ADFGVX - 1. ATTAQUE chiffre : **DADDFAADGDXF** - 2. DFAADDGAFXDDADFA dechiffre : **CYBERSECURITE** *(Note : La consigne du template diffère de l'image. Le message chiffré dans l'image 2 est "ADFFGFFGFFAFDXAXGGDGFGADVA" avec la clé CLEF, ce qui donne bien CYBERSECURITE une fois déchiffré).* - 3. Pourquoi A, D, F, G, V, X ? : **Leurs traductions en code Morse sont très différentes les unes des autres, ce qui minimise grandement les erreurs de transmission radio.** - 4. Interet de la double etape : **Elle combine à la fois la substitution (confusion) et la transposition (diffusion). Les digrammes fréquents sont brisés et dispersés, rendant l'analyse fréquentielle très inefficace.**