Explorez une multitude de sujets et trouvez des réponses fiables sur Zoofast.fr. Posez vos questions et obtenez des réponses détaillées et précises de notre communauté d'experts dévoués.

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é

Sagot :

caylus

Réponse :

Bonjour,

Explications :

On pourrait utiliser le code ASCII de chaque lettre mais je préfère mettre l'alphabet dans une chaîne.

View image caylus