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_Trithemius(message, clé) qui prend en argument une chaîne
de caractères message et un entier clé et qui renvoie une chaîne de caractère
correspondant au message chiffré avec la clé selon le code de Trithemius;
• et une fonction decodage_Trithemius(message_crypte, clé) 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é