Note de service vogon

Y a-t-il un vice de procédure ?

Le message chiffré n'est pas le même que pour c0d1ngUP 2025.
Ce défi est tiré de c0d1ngUP 2025

Le Prostetnic Vogon Jeltz a annoncé la destruction imminente de la Terre, et indiqué aux humains que la construction de la voie expresse hyperspatiale était notifiée depuis cinquante ans à la délégation locale du Plan, sur Alpha du Centaure.

Après qu'Arthur a échappé à cette destruction, il décide de se rendre à la délégation locale du Plan, histoire de vérifier qu'il n'y a pas un vice de forme exploitable dans l'annonce de la procédure de destruction.

Il ne trouve qu'une seule note de service particulièrement cryptique, et interroge le fonctionnaire assoupi au sujet de la note :

— Toutes nos notes de service sont chiffrées, lui répondit l'employé. Que croyez-vous ? Si tout le monde était au courant des projets, nous ne pourrions sûrement pas les mener à bien. Les détails du chiffrement sont au verso de la note.

Arthur y contemple quelques indications :

Texte encodé en latin1, puis chiffré octet par octet avec la méthode du masque jetable (utilisation de la fonction XOR). La clé est générée par groupes de 4 octets à partir d'une graine (x0), en utilisant la suite : xn+1 = (65537 xn + 3) MOD 232. Le résultat chiffré est encodé en base64.

Il tend les indications à Marvin :

— Bon, lui répond Marvin d'un air las, je peux donner quelques explications, mais ce travail est bien inférieur à mon niveau de compétence. Pour un cerveau humain, j'imagine qu'un exemple sera éclairant.

Voici l'exemple proposé par Marvin :

Supposons qu'on veuille chiffrer le message : J'en ai marre. Une fois encodé en latin 1, on récupère une séquence d'octets (ici en hexadécimal) : 4a 27 65 6e 20 61 69 20 6d 61 72 72 65. On a donc 13 octets à chiffrer. Maintenant, on choisit une graine au hasard entre 0 et 232-1. Par exemple 923451239. Puis, on itère la suite (65537 x + 3) MOD 232 en initialisant x à la valeur de la graine, jusqu'à obtenir une longueur de clef au moins égal à la taille du message. En l'occurrence, itérons 3 fois pour obtenir 4 nombres en tout (donc 16 octets) : 923451239 (la graine), 4134649706, 3051077485 et enfin 1967701872.

Chaque nombre est écrit sur 4 octets, ce qui donne une clé de 16 octets, ici en hexadécimal : 37 0a bf 67 f6 71 bf 6a b5 db bf 6d 75 48 bf 70

Enfin, on réalise un ou exclusif entre le message (13 octets) et la clé (dont on n'utilise que les 13 premiers octets) pour obtenir : 7d 2d da 09 d6 10 d6 4a d8 ba cd 1f 10

Ce résultat est encodé en base 64 pour plus de confort : fS3aCdYQ1krYus0fEA==

Marvin se fend alors d'un sourire mécanique :

— Les Vogons, ajoute-t-il, sont tellement hautains et inutilement fiers... Si cette note a été écrite par le Prostetnic Vogon Jeltz, je parierai qu'il n'a pas pu s'empêcher de citer son nom complet quelque part dans le message.

Aidez Arthur à décrypter le message vogon situé au recto de la note :

xNHPLk973ymQBNJA0a6cDxMO6ANc5tlFypjSTNEc2U8HvZweQW
rfGrLMyArsVMgSOtycGncQ0ODu3d2k/VrV4mfZxPp2I8/+pfPU
6Q0GzuBJl8j/l+DZt7lp2e9Ps1X8QAHRw51r08vWh8/HDDucSz
6b2Ny+28/U6nlclDlsnNP4qFXdrwrV0uUXnKExmtK3JNLZ5vWk
06oKIt6+XjmN9sDRktjlz9m5APrZqw4AVbUCMN2r0ADZlUVs04
0MiFaKu+Cchv6W7J830MiVYf3VkPLQ05HgEpyzKRnIhiVR0pCz
A51h6xPPYiUF0maOX9lumubcLhX9zn5Tx9g6++zIcsKlyH8Yzs
t4W3idUIlezwPFJ9NPElSHI7bS1QyrvNgP/d/cWzhPndUyPNJW
u/LQS+C3zx4mdc5haDjOIaXgxWuLj8g4H0rcbagWzyLc49Q/V3
iaLxQJ03mQsM89j1HRKh+gyRBGkpPe

À quelle date au plus tard pouvait-on envoyer une réclamation ? Vous la donnerez au format JJ/MM/AAAA.

Type de retour
une chaîne de caractères
Entrées du problème
Pas de données d'entrée
Vous devez être connecté.e pour proposer une réponse au défi
Vous devez être connecté.e pour accéder aux forums.