Pages

lundi 27 mars 2017

SOLUTION DE JEUX ET ENIGMES N°10 : MESSAGE SECRET

Je rappelle que le problème consiste à déchiffrer le message secret qui suit, sachant que la méthode ce chiffrage est une substitution simple des lettres. Plus de détails sont donnés dans l'énoncé du problème.

Le message secret est le suivant :


WZEOZYQOYBNSJJSNBESHGYJFYQJZYJCGFPYSBZEFGAMSPYSOSFYNFGQQNLSASXGJNEASFSQGYESFYQCQNFSQSEKSDLZYFGKNIMSYQSFGYWGQFNJYSGYAZNEKSBGQYSKSBSTBNFSSJKSBGLSEYSKSBGQSCYWBNPYSFNJYESCSYICGFLSENQONQGNAMSDCGYBSEJGINXGNFOSCQSHSQSQGNFPYSJYLNSEESFGYWGQAGQOSLZYKQGNFKNFAYJSQGLSAJZNGLGEJKSLZNQCGYBOSJSXWQGFFS


Source de l'illustration

Le décodage a été réalisé sans programmation informatique mais en utilisant des outils disponibles sur le web et cités dans le texte. Le principe de base de la méthode est de comparer la fréquence d'apparition des lettres dans le message codé avec la fréquence qui est statistiquement celle de la langue française écrite.
Pour cela il me fallait une référence dans un français bien écrit et contenant surtout des mots courants. J'ai choisi d'analyser les 50 000 premières lettres de "L'étranger" de Albert Camus, en utilisant les outils disponibles sur le site web cité dans l'énoncé.
La nature du texte et l'importance de l'échantillon laissent présager une bonne fiabilité statistique de la référence.

Dans cette référence, la répartition des lettres est la suivante :
Fréquences dans la référence
Les 26 lettres de l'alphabet sont présentes.

Dans le message codé la fréquence est :


Fréquences dans le message codé
Il n'apparaît que 23 lettres de l'alphabet dans le message codé. 

L''idée qui consisterait à faire une substitution "lettre à lettre", en remplaçant chaque lettre du message codé par la lettre qui a la même fréquence (ou une fréquence proche) dans la référence ne permet pas de conclure. En effet on ne peut pas s'attendre, dans un texte relativement court à trouver la même répartition des fréquences que dans un texte de 50 000  lettres. 

Il est quasiment certain que la lettre "e" est codée "S". En effet, dans la référence "e" (avec ou sans accent) est très largement en tête, de même que "S" dans le message. Ci-dessous le message avec la substitution de "S" par "e" (dans tout ce qui suit les lettres en minuscules sont des lettres  supposées décodées donc appartenant au message réel, non codé).

WZEOZYQOYBNeJJeNBEeHGYJFYQJZYJCGFPYeBZEFGAMePYeOeFYNFGQQNLeAeXGJNEAeFeQGYEeFYQCQNFeQeEKeDLZYFGKNIMeYQeFGYWGQFNJYeGYAZNEKeBGQYeKeBeTBNFeeJKeBGLeEYeKeBGQeCYWBNPYeFNJYEeCeYICGFLeENQONQGNAMeDCGYBeEJGINXGNFOeCQeHeQeQGNFPYeJYLNeEEeFGYWGQAGQOeLZYKQGNFKNFAYJeQGLeAJZNGLGEJKeLZNQCGYBOeJeXWQGFFe


Regardons maintenant la fréquence des lettres doublées :
Fréquence des lettres doublées

Le tableau est à considérer avec prudence car il se peut qu'il s'agisse dans le message codé de "fausses" lettres doubles, s'il y a une césure de mots entre les deux lettres répétées. Ce n'est pas le cas dans la référence car la fréquences a été calculée sur un texte divisé en mots. En conséquence le score de EE (codé) est très certainement surévalué et nous le laissons de côté provisoirement.

Par contre il y a une probabilité moyennement forte que le code FF signifie ss. En effet, d'une part c'est un doublet courant dans le texte et dans la référence ; d'autre part la lettre s est la seule qui puisse être doublée parmi les lettres fréquentes (hormis le "e" que nous avons déjà décodé).
Nous tentons donc la substitution de F par s ce qui nous donne :

WZEOZYQOYBNeJJeNBEeHGYJsYQJZYJCGsPYeBZEsGAMePYeOesYNsGQQNLeAeXGJNEAeseQGYEesYQCQNseQeEKeDLZYsGKNIMeYQesGYWGQsNJYeGYAZNEKeBGQYeKeBeTBNseeJKeBGLeEYeKeBGQeCYWBNPYesNJYEeCeYICGsLeENQONQGNAMeDCGYBeEJGINXGNsOeCQeHeQeQGNsPYeJYLNeEEesGYWGQAGQOeLZYKQGNsKNsAYJeQGLeAJZNGLGEJKeLZNQCGYBOeJeXWQGsse 



Quel est le dernier mot du texte ? Certainement pas "se" ni "sse". Avant le doublet "ss" on ne peut attendre qu'une voyelle (sauf "e"qui a déjà été décodé . Le nombre de mots se terminant par "asse", "isse", "osse", "usse" ou "ysse" est le suivant  (donnés par ce site web) :

"asse" : 3796
"isse" :  753
"usse" : 119
"osse" : 43
"ysse" : 2

Les probabilités sont nettement en faveur de "asse".

Je fais une hypothèse un peu hardie: j'élimine les mots qui sont des imparfaits du subjonctif,  mode très peu utilisé dans la langue moderne (et qui sont majoritaires dans la liste des mots en "asse", par exemple "aimasse"). Si le dernier mot du texte est un verbe (ce qui n'a rien de certain), il ne peut être que du premier groupe avec un infinitif en "asser".
J'élimine aussi les mots rares, puisque l'énoncé précise qu'il s'agit de mots courants. J'élimine aussi les mots vulgaires ("conasse").
En outre, si le dernier mot du texte contient un "e" (autre que le "e" final) il doit être en huitième position à partir de la fin du texte et précédé par un autre "e" en dixième position (dans l'hypothèse d'un mot qui a au moins 8 lettres) : LZNQCaYBOeJeXWQasse.
Enfin, il faut tenir compte de la position des "a"c'est-à-dire des "G" que l'on ne peut pas trouver dans un mot de moins de 14 lettres  ailleurs que dans la terminaison "asse".

Ces règles (très contraignantes) conduisent à conserver :


  • Aucun mot de moins de 6 lettres.
  • Pour un mot de 6 lettres: brasse, brassé, châsse, chasse, chassé, classe, classé, crasse, grasse, liasse.
  • Pour un mot de 7 lettres : cocasse, croasse, croassé.
  • Pour un mot de 8 lettres (il doit commencer par "e") : embrasse, embrassé, enchâsse, enchâssé, encrasse, encrassé.
  • Pour un mot de 9 lettres (il doit contenir "e" en deuxième position et ne pas commencer par "a" ni contenir "a" ailleurs que dans "asse") : feignasse, rembrasse, rembrassé, repotassé, 
  • Pour un mot de 10 lettres (il doit commencer par"e", contenir un "e" en troisième position et ne pas contenir "a" ailleurs que dans "asse") : aucun mot.
  • Aucun mot convenable de plus de 10 lettres.

Au total on conserve : 

brasse, brassé, châsse, chasse, chassé, cocasse, croasse, croassé, embrasse, embrassé, enchâsse, enchâssé, encrasse, encrassé, feignasse, rembrasse, rembrassé, repotassé.

Dans cette liste, un mot attire l'attention "embrasse" car sa position est naturelle à la fin d'une lettre ou d'un message. Ce sera mon hypothèse . J'effectue maintenant les substitutions suivantes qui découlent de ce qui précède : "G" en "a" ; "Q" en "r" ; "W" en "b" ; "X" en "m".

bZEOZYrOYBNeJJeNBEeHaYJsYrJZYJCasPYeBZEsaAMePYeOesYNsarrNLeAemaJNEAeseraYEesYrCrNsereEKeDLZYsaKNIMeYresaYbarsNJYeaYAZNEKeBarYeKeBeTBNseeJKeBaLeEYeKeBareCYbBNPYesNJYEeCeYICasLeENrONraNAMeDCaYBeEJaINmaNsOeCreHereraNsPYeJYLNeEEesaYbarAarOeLZYKraNsKNsAYJeraLeAJZNaLaEJKeLZNrCaYBOeJembrasse 

Dans la même logique, la fin du message doit probablement être  "je t'embrasse" ou "il t'embrasse".
Dans la référence les quatre lettres les plus fréquentes sont (dans l'ordre) "e","a","i", "s". Dans le message codé ce sont : "S", "Y", "G", "N". Or  nous avons déjà décodé "S"et"G", . Il est donc très probable que "i" soit codé "Y" ou "N".
Ceci exclut "il t'embrasse " et "il l'embrasse". On peut estimer que "O" se décode en "j" :

bZEjZYrjYBNeJJeNBEeHaYJsYrJZYJCasPYeBZEsaAMePYejesYNsarrNLeAemaJNEAeseraYEesYrCrNsereEKeDLZYsaKNIMeYresaYbarsNJYeaYAZNEKeBarYeKeBeTBNseeJKeBaLeEYeKeBareCYbBNPYesNJYEeCeYICasLeENrjNraNAMeDCaYBeEJaINmaNsjeCreHereraNsPYeJYLNeEEesaYbarAarjeLZYKraNsKNsAYJeraLeAJZNaLaEJKeLZNrCaYB je J embrasse

Intéressons-nous au premier mot du message (commençant par "b") en gardant en tête que le texte est écrit en bon français et en prenant en compte la présence ou pas de lettres déjà décodées.

Si le mot a 2 lettres : aucune solution convenable.
Si le mot a 3 lettres : bon.
Si le mot a 4 lettres (il doit finir par j) : aucune solution convenable.
Si le mot a 5 lettres (il doit avoir "j" en avant-dernière position) : aucune solution convenable.
Si le mot a 6 lettres : aucune solution convenable.
Si le mot a 7 lettres (il doit se terminer par "r") : bonjour
Si le mot a 8 lettres (il doit se terminer par "j" : aucune solution convenable.
Nous arrêtons la recherche car "bonjour" est parfait comme  première lettre d'un message. En outre, puisque "Y" est le code de "u", "N" est certainement le code de "i" (cf. plus haut). Effectuons toutes les substitutions qui découlent de ce que nous avons trouvé :
"Z" en "o", "E" en "n", "Y" en "u" et "N" en "i". Il vient :

bonjourjuBieJJeiBneHauJsurJouJCasPueBonsaAMePuejesuisarriLeAemaJinAeseraunesurCriserenKeDLousaKiIMeuresaubarsiJueauAoinKeBarueKeBeTBiseeJKeBaLenueKeBareCubBiPuesiJuneCeuICasLenirjiraiAMeDCauBenJaIimaisjeCreHereraisPueJuLiennesaubarAarjeLouKraisKisAuJeraLeAJoiaLanJKeLoirCauBjeJembrasse 

Il apparaît maintenant dans le texte certains groupements de lettres suggestifs. À la fin de la première ligne on a "jesuisarriLve" ce qui certainement se décode en "je suis arrivé". Je peux décoder "L" en "v" :

bonjourjuBieJJeiBneHauJsurJouJCasPueBonsaAMePuejesuisarriveAemaJinAeseraunesurCriserenKeDvousaKiIMeuresaubarsiJueauAoinKeBarueKeBeTBiseeJKeBavenueKeBareCubBiPuesiJuneCeuICasvenirjiraiAMeDCauBenJaIimaisjeCreHereraisPueJuviennesaubarAarjevouKraisKisAuJeraveAJoiavanJKevoirCauBjeJembrasse 

Plus loin on lit : "inAeseraunesurCrise", groupe dans lequel on peut isoler "sera une surCrise" qui permet avec une bonne probabilité de décoder le "C" en "p" (désormais je marque par un "/" les césures de mots trouvées ou probable) :

bonjour/juBieJJeiBneHauJsurJouJpasPueBonsaAMePue/je/suis/arrive/AemaJinAe/sera/une/surprise/renKeDvousaKiIMeures/au/bar/siJueauAoinKeBarueKeBeTBiseeJKeB/avenue/KeBarepubBiPuesiJunepeuI/pas/venir/j/irai/AMeDpauBenJaIimais/je/preHereraisPueJuviennesaubarAar/je/vouKraisKisAuJeraveAJoiavanJKevoirpauB/je/J/embrasse 

Isolons le groupe :"/je/suis/arrive/AemaJinAe/sera/une/surprise/

Que peut signifier "AemaJinAe".
Si la césure est après "A" le mot suivant commence par "emaJinAe". L'utilisation du site web montre qu'il n'y a aucun mot convenable.
La césure "Ae" est plausible :  ce, de, le, ne, te. Dans ce cas, le mot suivant commence par "maJinAe". Seul "matin" est possible compte-tenu des lettres déjà connues et on peut transposer "J" en "t". Soit, en marquant les nouvelles césures devenues possibles :

bonjour/juBietteiBneHaut/surtout/pas/PueBonsaAMePue/je/suis/arrive/Ae/matin/Ae/sera/une/surprise/renKeDvousaKiIMeures/au/bar/situe/au/AoinKeBarueKeBeTBiseetKeB/avenue/KeBarepubBiPue/si/tu/ne/peuI/pas/venir/j/irai/AMeDpauBentaIimais/je/preHererais/Pue/tu/viennes/au/bar/Aar/je/vouKrais/KisAuteraveAtoiavantKevoirpauB/je/t/embrasse 

Le groupe "/au/bar/situe/au/AoinKeBarue" peut s'interpréter sans gros risque d'erreur : "au bar situé au coin de la rue" permettant une substitution de "A" en "c", de "K" en "d" et de "B" en "l" :

bonjour/julietteilneHautsurtoutpasPuelonsacMePue/je/suis/arrive/ce/matin/ce/sera/une/surprise/rendeDvousadiIMeures/au/bar/situeaucoindelaruedeleTlise/et/de/l/avenue/de/la/republiPue/si/tu/ne/peuI/pas/venir/j/irai/cMeD/paul/entaIimais/je/preHererais/Pue/tu/viennes/au/bar/car/je/voudrais/discuter/avec/toi/avant/de/voir/paul/je/t/embrasse

Le texte est devenu presque lisible :

bonjour juliette il ne Haut surtout pas PuelonsacMePue je suis arrrive ce sera une surprise rendeDvousadiIMeures au bar situé au coin de la rue deleTlise et de l avenue de la republiPue si tu ne peuI pas venir j irai cMeD paul entaIimais je preHererais Pue tu viennes au bar car je voudrais discuter avec toi avant de voir paul je t embrasse.

Ce qui reste est facile à décoder :

"Haut" est certainement "faut"
"rendeDvous" est certainement "rendez vous"
"republiPue" est certainement "republique"

Avec les substitutions "H" en "f", "D" en "z", et "P" en "q" on a :

bonjour juliette il ne faut surtout pas que l on sacMe que je suis arrrive ce sera une surprise rendez vous adiIMeures au bar situé au coin de la rue deleTlise et de l avenue de la republique si tu ne peuI pas venir j irai cMez paul entaIimais je prefererais que tu viennes au bar car je voudrais discuter avec toi avant de voir paul je t embrasse.

La substitution de "M" en "h" (en raison du mot "sacMe" en première ligne)  et du "I" en "x"(en raison du mot "peuI") donne :

bonjour juliette il ne faut surtout pas que l on sache que je suis arrrive ce sera une surprise rendez vous a dix heures au bar situé au coin de la rue deleTlise et de l avenue de la republique si tu ne peux pas venir j irai chez paul en taxi mais je prefererais que tu viennes au bar car je voudrais discuter avec toi avant de voir paul je t embrasse.

Il reste une seule inconnue : "la rue deleTlise" mais il ne faut pas beaucoup d'imagination pour comprendre que c'est la rue de l eglise.

Le texte est décodé. En ajoutant la ponctuation et les accents on a :

Bonjour Juliette,
Il ne faut surtout pas que l'on sache que je suis arrivé, ce sera une surprise. Rendez-vous au bar situé au coin de la rue de l'Église et de l'avenue de la République. Si tu ne peux pas venir j'irai chez Paul en taxi, mais je préférerais que tu viennes car je voudrais discuter avec toi avant de voir Paul.
Je t'embrasse.

Critique de la méthode

Il y a au moins une hypothèse faible dans le raisonnement : on a choisi pour le dernier mot du texte codé la terminaison "asse", puis on a éliminé les imparfaits du subjonctif. Il aurait fallu vérifier que  la hiérarchie des terminaisons était respectée sans les imparfaits du subjonctifs dans toutes les terminaisons possibles et au moins tester les terminaisons en "isse". Cette vérification est difficile à faire manuellement, c'est-à-dire sans programmation informatique.

Aucun commentaire :

Enregistrer un commentaire

Vous pouvez ajouter des commentaires.