SW V : Le message chiffré de Vader

L'espace des clés est plus petit que l'espace interstellaire...

Ce défi est tiré de c0d1ngUP 2018

Les forces rebelles ont intercepté un message chiffré (donné en entrée du problème). Pour le déchiffrer, il va vous falloir d'abord comprendre la méthode de déchiffrement utilisée :

Supposons que le message à chiffrer soit : "Je suis ton père". On commence par nettoyer le message de manière à ce qu'il ne contienne que les lettres A à Z et le caractère _ pour l'espace. Notre message devient : JE_SUIS_TON_PERE. Si le nombre de lettres est impair, on ajoute une lettre au hasard à la fin. Puis on considère chaque paire de lettres, et on lui associe un couple de nombres (0 pour A, 1 pour B... 25 pour Z et 26 pour _). Le message devient :

(9, 4), (26, 18), (20, 8), (18, 26), (19, 14), (13, 26), (15, 4), (17, 4)

On applique ensuite à chaque paire de nombres (x, y) la transformation suivante :

x' = (a x + b y) % 27
y' = (c x + d y) % 27

a, b, c et d sont 4 entiers qui constituent la clé de cryptage, et % désigne l'opération modulo (reste de la division entière, attention aux nombres négatifs : 7 % 4 = 3 et -5 % 4 = 3 définition utilisée pour le modulo).

Si la clé de cryptage est a = 2, b = -3, c = 5, d = -11 les 8 paires de nombres sont transformées ainsi :

( 9,  4) -> ( 6,  1) car (2 * 9 - 3 * 4) % 27 = 6 et (5 * 9 - 11 * 4) % 27 = 1
(26, 18) -> (25, 13) car (2 * 26 - 3 * 18) % 27 = 25 et (5 * 26 - 11 * 18) % 27 = 13
(20,  8) -> (16, 12) 
(18, 26) -> (12, 20)
(19, 14) -> (23, 22)
(13, 26) -> ( 2, 22)
(15,  4) -> (18,  4)
(17,  4) -> (22, 14)

On considère maintenant les paires de nombres obtenues après chiffrement (6, 1), (25, 13)... et on leur associe deux lettres (A pour 0, B pour 1, ... Z pour 25, _ pour 26). On obtient les couples de lettres :

(G,B) (Z,N) (Q,M) (M,U) (X,W) (C,W) (S,E) (W,O)

Enfin, on met toutes ces lettres bout à bout pour obtenir le message chiffré :

GBZNQMMUXWCWSEWO

Pour déchiffrer le message, on procède de la même manière, mais avec d'autres coefficients a, b, c, et d (dans notre exemple, ce serait a=-10, b=-12, c=-7, d=-8).

Les rebelles ont intercepté le message qui vous est donné en entrée du problème.

Sachant qu'il émane de VADER, qui l'a probablement signé (cette information est capitale), découvrez le nom des planètes en passe d'être détruites afin de prévenir les éventuels habitants.

Validez le défi en donnant les noms des planètes concernées.

Type de retour
une chaîne de caractères
Entrées du problème

MPLCCFOMNFXGUDOUG_CFED_ANFXPHGLXB_HTOSYKG_KRMWG_PUXJMWCFQAUMZP_WIAKERYWXQQJZREZPWMWKSUOSYKOMNFLXIPASBW_NPIEP_EJDBW

Vous devez être connecté.e pour proposer une réponse au défi
Vous devez être connecté.e pour accéder aux forums.