No description
- Python 100%
| cesar | ||
| force_brute | ||
| freq | ||
| vigenere | ||
| README | ||
# 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é = _ Produit MA = 43I Explication : clé B = A⁻¹ B = 17⁻¹M 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 + transposition, donc 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: 1. Indice de coïncidence: on teste les longueurs de clé de 1 à 20 ; la longueur pour laquelle la moyenne des IC des groupes est la plus élevée (proche de 0.078 pour le français) est retenue. 2. Analyse fréquentielle par groupe : pour chaque position `i` de la clé, on extrait toutes les lettres du texte chiffré en position `i mod L` (L = longueur de clé). Chaque groupe est un César indépendant. On choisit le décalage qui maximise la corrélation (produit scalaire) entre les fréquences observées et les fréquences théoriques de la langue. ## Difficultés rencontrées TP très long. Le chiffrement de Vigenère était compliqué à comprendre.