Alice et Bob souhaitent s’échanger des messages secrets à l’aide du chiffrement de Trithemius. Pour cela : • Ils choisissent un nombre secret N (la clé de chiffrement), par exemple N = 2. • Quand Alice veut envoyer un message à Bob, par exemple « RENDEZVOUSAMIDI », elle décale chaque lettre de la manière suivante : ◦ la première lettre R est décalée de 0×N rang vers la droite : elle reste à R ; ◦ la deuxième lettre E est décalée de 1×N rang vers la droite : elle devient ici G (car 1×N = 2 dans cet exemple) ; ◦ la troisième N est décalée de 2×N rang vers la droite : elle devient ici R (car 2×N = 4 dans cet exemple) ; ◦ et ainsi de suite, le décalage augmentant de façon proportionnelle à la position de la lettre codée dans le message en clair (si le nombre obtenu dépasse 26, on prend alors le reste dans la division euclidienne par 26) ; ◦ au final, son message est codé en « RGRJMJHCKKUIGDK ». • Pour déchiffrer le message, Bob procède de la même manière, sauf que les additions sont remplacées par des soustractions.
Votre script Python doit comporter :
• une fonction codage_Wolseley(message, clé) qui prend en argument deux chaînes
de caractères message et clé et qui renvoie une chaîne de caractère
correspondant au message chiffré avec la clé selon le code de Wolseley;
• et une fonction decodage_Wolseley(message_crypte, cle) qui renvoie la chaîne de
caractères correspondant au message en clair obtenu par décodage à l’aide de la
clé du message crypté