Cryptographie et autres
Souvent, nous allons être confrontés à des fichiers cryptés ; la cible va en effet essayer de cacher l’information.
1. ROT13
Selon Wikipédia, "Le ROT13 (rotate by 13 places) est un cas particulier du chiffre de César, un algorithme simpliste de chiffrement de texte. Comme son nom l’indique, il s’agit d’un décalage de 13 caractères de chaque lettre du texte à chiffrer. Le défaut de ce chiffrement est que s’il s’occupe des lettres, il ne s’occupe pas des symboles et de la ponctuation. C’est pourquoi on doit supprimer toute accentuation du texte à chiffrer. Il ne s’occupe pas non plus des chiffres, ce qui était sans importance puisque les Romains écrivaient leurs chiffres avec des lettres (I, V, X, L, M, etc.). Pour l’utiliser aujourd’hui, il suffit de convertir d’abord les chiffres en utilisant la notation romaine, ou en lettres ("UN" pour1, "DEUX" pour 2...)."
La lettre O devient B, la lettre P devient C...
La librairie string de Python contient une fonction appelée maketrans qui permet de substituer un caractère à un autre.
ROT13=string.maketrans
('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPRSTUVWXYZ',
'nopqrstuvwxyzabcdefghijklmNOPQRSTUVWXYZABCDEFGHIJKLM')
Dans le script suivant, nous allons ouvrir tous les fichiers .txt et lancer le cryptage ROT13 pour chaque ligne de chaque fichier. Nous allons...