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 :