Rendu TD1 CRYPTO ISEN 1
Find a file
2026-04-23 02:14:08 +02:00
messages premier envoie 2026-04-23 02:14:08 +02:00
cesar.py premier envoie 2026-04-23 02:14:08 +02:00
force_brute.py premier envoie 2026-04-23 02:14:08 +02:00
freq.py premier envoie 2026-04-23 02:14:08 +02:00
README.md premier envoie 2026-04-23 02:14:08 +02:00
screen1.png premier envoie 2026-04-23 02:14:08 +02:00
screen2.png premier envoie 2026-04-23 02:14:08 +02:00
vigenere.py premier envoie 2026-04-23 02:14:08 +02:00

TD1 — Cryptographie classique

Exercices sur papier

Exercice 1 — Cesar

    1. Message chiffre (K=5) : QFWJSHTSYWJJXYUWJAZJFQFHFKJYJWNF
    1. Message dechiffre (RGNEIDVGPEWXTRAPHHXFJT) : CRYPTOGRAPHIECLASSIQUE, cle = 15
    1. Cle trouvee : 16, debut du message clair : L ISEN EST UNE SUPER ECOLE D INGENIEUR

Exercice 2 — Substitution

    1. Message chiffre : BX CHYSFSMCH HVM LCHDUH X BX YXPHMHCZX*
    1. YHVMQUVMH dechiffre : cestjuste. Peut-on le casser sans la cle ? Oui, en utilisant l'analyse des fréquences et la reconnaissance de motifs (attaque par dictionnaire sur les longueurs de mots).

Exercice 3 — Vigenere (papier)

    1. Message chiffre (cle POULE) : AOLPRRCHEVTSMETGSPFIPZUNEUSNPVXO
    1. BAUNBEKLZLQSKQKEBGCJYHVSKR dechiffre (cle TNCY) : INSPIRINGYOURDIGITALFUTURE

Exercice 4 — Chiffrement affine

    1. Verification S → J : S=18. Formule : 3(18)+7 = 61. Modulo 26 : 61 = 26*2 + 9. Le rang 9 correspond a J.
    1. SECRET code : JTNGTM
    1. Demonstration : x ≡ 3n+7 mod 26 ⇔ 3n ≡ x-7. L'inverse multiplicatif de 3 modulo 26 est 9 (car 3*9=27 ≡ 1 mod 26). En multipliant par 9 : n ≡ 9(x-7) mod 26.
    1. KGHSX dechiffre : BRAVO

Exercice 5 — Chiffrement affine (generalisation)

    1. Demonstration (a premier avec 26) : Pour que le chiffrement soit réversible (fonction bijective), 'a' doit admettre un inverse modulo 26. Cela n'est mathématiquement possible que si 'a' et 26 sont premiers entre eux, soit PGCD(a, 26) = 1.
  • 2a. Existence de u : si PGCD(a, 26) = 1, il existe des entiers u et v tels que au + 26v = 1. En arithmétique modulaire, cela donne a*u ≡ 1 mod 26. u est donc l'inverse de a.
  • 2b. Fonction de decodage : n ≡ u(x - b) mod 26
  • 2c. ZSPS decode (cle 15;2) : FINI

Exercice 6 — Hill

  • Partie A : INDICE chiffre = DVUBYO, DVUBYO dechiffre = INDICE, YOWPEE dechiffre = CERISE
  • Partie B : INDICE chiffre = HTPQMK, produit MA = 43I , explication cle B = La matrice B utilise une fraction (division par le déterminant 43), ce qui n'est pas applicable directement dans l'alphabet (entiers modulo 26)., verification C = 23M : En modulo 26, le déterminant 43 équivaut à 17. Son inverse multiplicatif est 23 (car 17*23 = 391 ≡ 1 mod 26). En multipliant la matrice M par 23, on annule le facteur et on retrouve le message clair INDICE.

Exercice 7 — ADFGVX

    1. ATTAQUE chiffre : DDFADDDADXFDAG
    1. DFAADDGAFXDDADFA dechiffre : CYBERSECURITE
    1. Pourquoi A, D, F, G, V, X ? Ces lettres ont été choisies car leurs équivalents en code Morse sont très dissemblables à l'écoute, ce qui limitait drastiquement les erreurs de transcription lors des transmissions radio brouillées.
    1. Interet de la double etape : Le fractionnement (substitution puis transposition) sépare les coordonnées de chaque lettre. Cela détruit la structure du message et rend l'analyse fréquentielle directe impossible sans connaître la clé de transposition.

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 : Vulnérabilité : Le chiffre de César est très fragile car il n'existe que 26 clés possibles, ce qui rend l'attaque par force brute instantanée. Analyse fréquentielle : Très efficace car la structure statistique d'une langue (prédominance du 'E') survit au décalage. Aligner le pic du texte sur le 'E' théorique permet de trouver la clé automatiquement sans tester toutes les possibilités. Fiabilité : La précision de l'attaque dépend de la longueur du texte. Plus le message est long, plus la distribution des lettres est stable et plus la superposition avec les fréquences théoriques est nette sur le graphique.

Vigenere

  • Cle trouvee : ????? Je dois chiffer qui ?
  • Methode utilisee : Analyse fréquentielle par blocs. Le texte est divisé en colonnes selon la taille de la clé. Chaque colonne étant chiffrée avec la même lettre, on applique la méthode de recherche du 'E' le plus fréquent (César) sur chaque groupe pour reconstruire la clé complète.

Difficultes rencontrees

l exo sur le chiffrement de hill est un peu complique pour un debut