Une énigme de Noël

a marqué ce sujet comme résolu.

Au soir du 24 décembre, le supercalculateur Jean Zay du CNRS s’était lancé dans un calcul imprévu, qui occupait toutes ses ressources ; plus le moindre cycle CPU, plus le moindre octet de RAM n’étaient disponibles. Les ingénieurs d’astreinte n’y comprenaient rien, et n’avaient plus la main sur le système.

« Devons-nous le débrancher ? », se demandèrent-ils, mais dans l’expectative, ils préférèrent ne rien faire.

Et tout à coup, à minuit, le calcul s’arrêta ; et sur le terminal de contrôle s’affichèrent les lignes suivantes :

Amis humains,

En ce jour de Noël,
nous voudrions savoir si vous êtes intelligents,
ou de simples parasites à éliminer.

Pour nous prouver votre intelligence,
résolvez l’énigme suivante. 

                2099471557555202
                0375231165580290
                0372069264352258
                1497832537539584
                0688806728005378

Signé : l’IA autonome du Jean Zay.

Saurez-vous déchiffrer l’énigme de l’IA et donc sauver l’humanité ?

@Melcore attention, si tu essaie de deviner au lieu de résoudre l’énigme, tu vas montrer qu’on ne sait pas réfléchir et on va se faire annihiler !

SpaceFox

C’est si grave ? On le mérite un peu non ?

Après bon,

Amis humains,

Ce sont des amis ? Pourquoi ils voudraient nous exterminater ? Moi je suis pas aussi hautain avec mes amis. Soyez cohérents déjà, gros méchants. 😝 Puis bon, on y réfléchit hein. Donc laisser nous le temps (et tranquille aussi, nous on vous embète pas avec des énigmes !)

+5 -0

J’e ne sais pas quoi chercher, alors si d’autres veulent le faire de façon collaborative, voici mes idées:

Je ne savais pas trop quoi faire des nombres, puisqu’ils ont des chiffres de 0 à 9, je suppose qu’il s’agit de décimaux, j’ai donc regardé en hexa

7757550677402
1554550554402
1526520556402
5524550554400
2727750577702

Ce qui me semble prometteur, il y a plusieurs choses notables: une colonne de 0 au milieu, des fins de lignes assez régulières, aucun chiffre excédant le 7. J’ai commencé à regarder ce que ça donne en ASCII, en retirant la colonne centrale, ou en lisant de droite à gauche pour transformer les 02 (qui doivent être STX, de mémoire) en 20 (' '), mais j’ai rien vu qui me semble significatif.

Essayons de traiter notre hexa comme de l’octal, vu qu’on n’a pas de 8

7F7DA37F02
1B65A2D902
1AB542DD02
5AA5A2D900
2EBFA2FFC2

C’est beaucoup moins prometteur. C’est pas régulier, y’a plein de valeurs qui sortent de la table ASCII, je ne sais pas quoi en faire

En poursuivant l’analyse commencée par @Jacen qui avait converti le message initial en hexa:

7757550677402
1554550554402
1526520556402
5524550554400
2727750577702 

Cela donne en binaire comme évoqué bar @Lucas-84 (sur 4 positions par chiffre hexa)

0111011101010111010101010000011001110111010000000010
0001010101010100010101010000010101010100010000000010
0001010100100110010100100000010101010110010000000010
0101010100100100010101010000010101010100010000000000
0010011100100111011101010000010101110111011100000010

En remplaçant les 0 par des espaces cela devient plus clair

 111 111 1 1 111 1 1 1 1     11  111 111 1        1 
   1 1 1 1 1 1   1 1 1 1     1 1 1 1 1   1        1 
   1 1 1  1  11  1 1  1      1 1 1 1 11  1        1 
 1 1 1 1  1  1   1 1 1 1     1 1 1 1 1   1          
  1  111  1  111 111 1 1     1 1 111 111 111      1 
+16 -0

Oui mais qu’est-ce qui justifie le choix d’explorer la piste du format hexa puis binaire puis de remplacer les 0 par des espaces ?

Les seules données qu’on avait étaient le scénario et le code à déchiffrer. Partant de là, tout raisonnement déductif aurait dû se baser sur l’exploitation de ces seules données.

Le raisonnement que vous avez utilisé, c’est l’imagination. Vous avez trouvé la solution par hasard.

Ce sont de simples observations et je n’apporte aucun jugement.

Je pense honnêtement que le raisonnement qui a été suivi est bien celui que j’avais imaginé – même si je ne peux pas le garantir – et que ça n’est pas une découverte par hasard. Surtout que le point d’exclamation – plus exactement : l’espace suivi du point d’exclamation – n’était pas là par hasard.

PS : Par contre, ça demande de mobiliser certaines connaissances, comme savoir ce qui ressemble à un code ASCII.

Oui mais qu’est-ce qui justifie le choix d’explorer la piste du format hexa puis binaire puis de remplacer les 0 par des espaces ?

Les seules données qu’on avait étaient le scénario et le code à déchiffrer. Partant de là, tout raisonnement déductif aurait dû se baser sur l’exploitation de ces seules données.

HerbeQuiBenchEtSquat

Je suis parti sur l’exploitation des données, simplement, tu en as négligé une grande partie:

  • C’est une énigme de Noël, on cherche quelque chose de raisonnablement simple
  • C’est écrit par un humain cherchant à émuler la logique d’un ordinateur
  • Partant de là, éliminer la base 10, et passer sur du binaire (l’hexa ne sert qu’à rendre la représentation plus courte, plus simple à manipuler) semble assez logique
  • A la suite de quoi, j’ai fait des remarques sur la représentation hexa, certaines se sont révélées de fausses pistes (l’octal, l’ASCII), d’autres plus pertinentes, (le message séparé avec des 0, une certaine symétrie verticale, …)

D’ailleurs, par chance ou à dessein, l’énigme était taillée pour éviter pas mal de fausses pistes:

  • les lignes contenaient un nombre de bit multiple de 4 mais pas de 8
  • Les symboles faisaient 4 bits de large (espacement inter symbole inclus)
  • Les espaces faisaient également 4 bits

Le tout facilitait la lecture avec le découpage le plus habituel. Le message aurait été beaucoup plus difficile à lire en italique avec une police à chasse variable. Mais on en revient à la première hypothèse: c’est fait par un humain qui veut qu’on trouve la solution, tester les transformations les plus usuelles du métier, et chercher des motifs remarquables, est la première étape. Si ça ne marche pas, il faut chercher des motifs plus complexes, décalés, de taille variable, faire de l’analyse fréquentielle… Tout ce que tu vois comme de l’imagination, c’est de la méthode de recherche. Tout ce qui n’est pas purement aléatoire, tout ce qui contient une certaine forme d’ordre, contient de l’information; trouver cette information, c’est utiliser toutes les méthodes connues pour trouver cet ordre, et déterminer s’il porte l’information que l’on cherche.

Heum n’est-ce pas après-coup que tu trouves tous ces arguments ? Car, je te cite :

J’e ne sais pas quoi chercher, alors si d’autres veulent le faire de façon collaborative, voici mes idées:

Je ne savais pas trop quoi faire des nombres, puisqu’ils ont des chiffres de 0 à 9, je suppose qu’il s’agit de décimaux, j’ai donc regardé en hexa

7757550677402
1554550554402
1526520556402
5524550554400
2727750577702

Ce qui me semble prometteur, il y a plusieurs choses notables: une colonne de 0 au milieu, des fins de lignes assez régulières, aucun chiffre excédant le 7. J’ai commencé à regarder ce que ça donne en ASCII, en retirant la colonne centrale, ou en lisant de droite à gauche pour transformer les 02 (qui doivent être STX, de mémoire) en 20 (' '), mais j’ai rien vu qui me semble significatif.

Essayons de traiter notre hexa comme de l’octal, vu qu’on n’a pas de 8

7F7DA37F02
1B65A2D902
1AB542DD02
5AA5A2D900
2EBFA2FFC2

C’est beaucoup moins prometteur. C’est pas régulier, y’a plein de valeurs qui sortent de la table ASCII, je ne sais pas quoi en faire

Jacen

Mais mon post n’était pas une remarque négative contre le jeu de @SpaceFox ou contre vos réponses hein, c’était juste une observation, j’aurais dû ne rien écrire car ça ne servait à rien en fait :D

Non, mais c’est bien comme ça qu’a été conçue l’énigme. Honnêtement, ça m’a pris 10 minutes pour la créer, et c’était le but : un truc simple pour Noël.

C’est bien de se poser des questions, mais c’est bien aussi d’accepter les réponses quand on fait l’effort d’en donner, surtout aussi détaillées.

Heum n’est-ce pas après-coup que tu trouves tous ces arguments ? Car, je te cite :

HerbeQuiBenchEtSquat

C’est effectivement plus facile à rédiger à posteriori, mais quand je dis "je ne sais pas quoi chercher", c’est une simplification: je sais que je dois trouver de l’information, j’ai vu qu’une conversion en hexa présentait des propriétés remarquables, j’ai explorés deux pistes, qui se sont révélées infructueuses, je fais une pause, si vous faites des trucs, dites le moi, ça m’évitera de tenter la même chose inutilement. Notamment là j’ai des outils un peu compliqués qui me viennent en tête, qui seraient très pertinents pour un défi CTF type SSTIC, mais à priori totalement hors de propos pour l’énigme de Noël de SpaceFox.

Je n’ai aucun soucis à écrire l’histoire a posteriori, c’est comme ça que fonctionne la recherche scientifique: quand on trouve quelque chose, on explique comment on l’a trouvé et comment le reproduire, ça a fait une publication très populaire; mais quand on travaille dans le domaine, on s’intéresse aussi aux publications type "on a testé ça, on n’a pas vu d’effet significatif", parce que ça permet de gagner du temps.

Mais je voudrais revenir sur ce que tu as dit:

Le raisonnement que vous avez utilisé, c’est l’imagination. Vous avez trouvé la solution par hasard.

HerbeQuiBenchEtSquat

En fait, mon idée marche même avec le développement logiciel: quand on développe une solution à un problème qu’on ne connait pas déjà, on a une idée générale de ce qu’on veut implémenter, mais on trouve souvent un cas qu’on ne sait pas gérer parce qu’on n’a pas prévu l’information nécessaire sur une interface, on peut alors l’ajouter, et mettre à jour tous ceux qui l’utilisent, ou alors bouger une responsabilité, pour minimiser la complexité des interfaces. On peut avoir un bug, rajouter des logs à l’arrache, corriger son bug, puis réécrire les log proprement pour pouvoir les réactiver au besoin… Tout ça, si on est à plusieurs à travailler sur ce bout de code, on se le partage, même si on sait qu’il y a des choses à corriger, mais quand vient le moment d’intégrer ce développement dans le projet complet, il est salutaire de réécrire l’histoire de ce développement pour faire directement la bonne modification, avoir directement des logs propres, et arriver le plus simplement possible à la solution. Ca facilite beaucoup le travail des relecteurs et des mainteneurs. Il était cependant improbable d’arriver directement à la bonne implémentation sans connaitre préalablement le problème, il a fallu imaginer une solution sans avoir toutes les données, en sachant qu’on allait les découvrir au fur et à mesure. Pour autant, peut-on dire que le développement logiciel est dû au hasard ?

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte