Quasi-Atbash

Quasi-Atbash #

L’agent K est toujours à la recherche d’un moyen pour transmettre des messages à l’agent Q. Puisque ses techniques ne font pas long feu face aux participants au concours Codémoi, il est amené à en changer très souvent.

Au cours d’une lecture, il a découvert le très ancien code Atbash, et décide d’utiliser une variante de son cru.

Dans le chiffrement Atbash original, on utilise ce tableau :

A B C D E F G H I J K L M
Z Y X W V U T S R Q P O N 

Chaque lettre est remplacée par celle située au dessus ou au dessous.

Ainsi, PYTHON donne KBGSLM.

Dans la variante de l’agent K, entre le chiffrement de chaque lettre, la ligne du haut est décalée d’un cran vers la droite. Ainsi, pour chiffrer PYTHON, le P donne K, puis le tableau devient (le M qui sort à droite revient par la gauche) :

M A B C D E F G H I J K L
Z Y X W V U T S R Q P O N

Le Y est alors chiffré en A.

Le tableau est à nouveau décalé :

L M A B C D E F G H I J K
Z Y X W V U T S R Q P O N

et le T est chiffré en E.

Ainsi de suite… et on obtient comme chaîne chiffrée du mot PYTHON : KAEPHH

Lors de l’envoi de plusieurs messages, la ligne supérieure n’est pas réinitialisée, c’est à dire que le A ne reprend pas sa place en début de ligne. Si à la suite du chiffrement du mot PYTHON, on chiffrait le mot ENIGME, on obtiendrait donc : PFWXQX.

Vous avez intercepté un message de l’agent K :

UNQDBBYKKNHACSYZCIKIUKTRILEKLZOAHNXJTZPFEZPHZVHRSJWWFNEX

mais vous ignorez quelle était a position initiale de la ligne supérieure, et par ailleurs… vous pensez que pour brouiller les pistes, le message en clair contient des séquences de lettres inintelligibles (le message en clair pourrait être par exemple : DLZALRZEMFDDSQENRENDEZVOUSDANSLAPRESMIDIXGRKLREIO)

Quel est le lieu mentionné dans le message intercepté ?

Pièces à fournir :

  • fichier contenant votre code source (.sb3 ou .py), pour que nous puissions tester ;
  • explications sur la manière dont vous avez procédé ;
  • réponse à l’énigme.