Espace pédagogique

cryptographie

La manipulation des chaînes de caractère avec Python. Pourquoi ne pas tout chiffrer ?

Le langage Python permet la manipulation de texte (type string ou str). On peut alors programmer de nombreuses applications de cryptographie, en voici quelques idées et 2 programmes en Python pour les mettre en oeuvre.

  • Codage par décalage dit de César : L’idée est que chaque lettre est décalée dans l’alphabet. Pour un décalage de 3 par exemple, les « A »deviennent des « D », les « B »des « E », ...,les « Z »des « C ». Le codage Rot13 ci-dessous correspond à un tel décalage par 13. Il a l’avantage d’être son propre programme de décodage.


 
  • Codage de Vigenère : la clé de chiffrement est un mot, par exemple « ACB ». On décale alors la première lettre de 1 (la valeur numérique du A), la deuxième de 3 et la troisième de 2 puis on recommence 1,3,2,...

  • Codage par permutation : chaque lettre de l’alphabet est remplacée par une autre lettre déterminée, cela forme la clé de chiffrement ;

  • Décodage par attaque statistique : pour découvrir la permutation utilisée, on effectue un relevé statistique. En effet en français la répartition des lettres est la suivante :

 

Ce programme va ainsi lire un texte en minuscule sans accents et donne les fréquences relevées :

Information(s) pédagogique(s)

Niveau :
tous niveaux, Lycée tous niveaux
Public visé :
non précisé, enseignant, élève

Document(s) complémentaire(s)