[Mystery]Apprenez à crypter/décrypter/craquer le chiffre de Playfair

by Fabien
1 comment

Vous avez certainement déjà eu à faire, au cours de votre « carrière » de géocacheur, au chiffre de Playfair . Que vous l’ayez décrypté ou que la mystery ne fut qu’une suite de lettres incompréhensibles sur laquelle vos yeux se sont acharnés, c’est un codage que l’on trouve de temps en temps dans les caches mystères. Ce n’est, certes, pas aussi classique qu’un Vigenère, mais savoir qu’il existe pourra, très certainement, vous être utile à l’occasion. Je vais vous expliquer dans cet article, ce que c’est, comment le coder/décoder et éventuellement comment essayer de le craquer si vous ne trouvez pas la clé.

playfair.png

Je vais me lancer dans un série d’articles consacrés au chiffrement/déchiffrement des messages. Vous allez me dire que dCode, fait très bien le travail, et je suis d’accord avec vous. Voilà… Bonne journée ! Euh, non ! Attendez !!! Certes, on peut utiliser tous ces  outils et ces chiffrements sans les comprendre, mais je trouve intéressant d’aller un peu plus loin dans la compréhension du processus de résolution de ces méthodes. D’où une série de textes où nous parlerons de l’incontournable Vigenère, d’Enigma, de l’utilisation de masques, de chiffrements monoalphabétiques, etc, etc…  Mais commençons donc par le chiffre de Playfair !

dcode.png

 

Un peu d’histoire :

Le chiffre de Playfair fut inventé en 1854 par … Charles Wheatstone ! Eh oui, il y avait un piège ! Charles Wheatstone est un inventeur anglais a qui l’on doit un des premiers microphones, le principe de la stéréoscopie (la 3D, pour faire simple), le premier télégraphe électrique et même un instrument de musique… entre autres. Et, entre toutes ses autres occupations, Wheatstone cherche un code qui serait moins facile à pénétrer que les classiques codes monoalphabétiques. Une fois au point, il propose l’utilisation de son code au gouvernement de son pays. Toutefois, le système de cryptographie est jugé trop complexe à manipuler par les institutions anglaises. Pour la petite histoire, quand l’inventeur proposa de montrer qu’en 15 minutes, trois quarts des élèves de l’école voisine arriveraient à le maîtriser, le sous-secrétaire du « Foreign Office » lui aurait répondu « That is very possible, but you could never teach it to attachés. » (c’est très possible, mais vous n’arriverez pas à le faire apprendre à des spécialistes »). Bon, vous verrez que vous aurez largement le niveau de 3/4 des élèves de l’école voisine : le code n’est pas compliqué.

Charles_Wheatstone_-_Project_Gutenberg_etext_13103.jpg

Charles Wheatstone (source wikipedia)

Lord Playfair discute régulièrement de cryptographie avec Wheatstone et c’est lui qui va réussir à populariser ce codage. C’est pour cela que le code chiffre porte son nom. Ses fonctions au sein du parlement ont dû aider « un peu ». Finalement, le code sera utilisé par les Anglais au cours de la Première Guerre mondiale et la seconde guerre des Boers et par la Nouvelle Zélande lors de la Deuxième Guerre mondiale.

Scientific Identity, Portrait of Lyon Playfair Baron Playfair

Lyon Playfair (source wikipedia)

 

Quel est le principe ?

Le principe est très simple…. Vous voyez, je vous l’avais dit :p. L’idée est de remplacer des paires de lettres d’un message par d’autres paires en se servant d’un carré de 5 par 5, comme grille de code. Le début de cette grille sera remplie à l’aide d’un mot de passe, le reste le sera par le reste de l’alphabet non utilisé. Il en résulte que chaque paire de lettres est codée par une autre paire de lettres, ce qui augmente de façon importante la difficulté de décoder le texte sans la clé. En effet, à la place d’avoir 25 possibilités pour remplacer une lettre, on en a 650 pour remplacer un couple de lettres, que nous appellerons « bigramme » ou « digramme ». Ce qui peut malgré tout faire un jeu de mot pas très léger. Si ça ne vous semble pas très clair, voyons tout cela en détail ! (le code, pas la blague…)

Tout d’abord, remplissons la grille qui nous servira à crypter/décrypter nos messages. Pour cela, il nous faut un mot de passe. Prenons « J’aime le géocaching », par exemple… Ce n’est pas un mot de passe super sécurisé, mais dans notre cadre ça n’a aucune importance. Vous allez rapidement comprendre que si on voulait augmenter la sécurité du codage, il faudrait que dans notre mot de passe, il y ait pas mal de lettres différentes.

Qui dit grille de 5*5 dit 25 lettres… il y en a donc une qui restera sur la touche… En général, en français, c’est le « W » que l’on ne mettra pas dans la grille, à la place on utilisera un « V ». En anglais, c’est souvent le « I » et le « J » qui forment une même lettre ou le « J » ou « Q » qui disparaissent. En fonction des langues, vous trouverez d’autres habitudes. Cette information est importante, car cela peut grandement perturber le cryptage/décryptage de l’information.

Pour faire notre grille de cryptage nous allons commencer par enlever toutes les lettres en doublon, ce qui donnera dans notre cas : « j’aime le géocaching » -> « jaimelgochn ». Nous mettons ces lettres dans un carré de 5*5, de haut en bas et de gauche à droite, et nous complétons avec le reste de l’alphabet dans l’ordre. Si vous arrivez à « Y » à la dernière case, bravo ! Vous avez votre clé de cryptage ! Sinon, c’est que vous avez entré deux fois la même lettre et dans ce cas je ne vous félicite pas…

PlayfairGrille1

Il nous faut maintenant préparer notre texte au cryptage. Nous avons vu que le concept du chiffre de Playfair est de transformer des paires de lettres par d’autres paires de lettres. Il nous faut donc tout d’abord grouper nos caractères par 2 : nos fameux digrammes (oui, j’ai décidé, en accord avec moi même, qu’ils étaient fameux).

Prenons le texte : « je ne comprends jamais rien aux énigmes, donc je demande aux copains ». Il devient « je ne co mp re nd sj am ai sr ie na ux en ig me sd on cj ed em an de au xc op ai ns ». Si j’avais eu un doublon de lettres identiques, j’aurai introduit une lettre supplémentaire, souvent un « X » entre les lettres jumelles. Idem si à la fin il me reste une lettre toute seule. Par exemple « les savoirs » devient « le ss av oi r » qui devient « le sx sa voi rs ». Ici notre lettre finale solitaire a disparu grâce au « x » entre les 2 « s », donc on ne rajoute rien à la place. Dans le cas contraire, notre chaîne se terminerait par « sx ».

Si notre texte possède un « W », on le transformera en « V », car nous n’avons pas de « W » dans notre grille française. Attention, j’ai vu dans certains cas que des logiciels de décryptage transforment « W » en « VV ». A priori, ce n’est pas l’habitude, mais il faut le savoir. Donc si d’un coup votre texte devient n’importe quoi, cela viendra certainement de ça.

Il est maintenant temps de coder le texte et de vous expliquer comment le code fonctionne ! N’ayez pas peur, ça va bien se passer :p Il y a trois cas de figure :

  1. les deux lettres se trouvent sur la même ligne de la grille :

On décale les lettres en clair d’une case vers la droite. Ainsi dans notre exemple « je ne co mp re nd » : n d -> B F  -> « je ne co mp re BF« 

grilleplayfair2.png

Évidemment, si comme dans le cas de « je ne co mp re BF » : c o -> H C. Donc on peut réutiliser une lettre qui a été codée -> « je ne HC mp re BF« 

Si la lettre que l’on veut coder est en bout de ligne, on fait « un tour » et on prend la lettre qui se trouve tout à gauche. « ai sr ie na ux en ig » : I E -> M J -> « ai sr mj na ux en ig »

grilleplayfair3.png

2. les deux lettres se trouvent sur la même colonne de la grille :

On décale les lettres en clair d’une case vers le bas pour avoir les lettres codées. Comme dans le cas précédent, si la lettre en clair est sur la dernière ligne, la lettre codée sera sur la première.

« au xc op ai ns » : X C  -> M F : « au mf op ai ns »

grilleplayfairligne-e1565608454918.png

3. les deux lettres sont dans les coins d’un rectangle

Ou pour le dire autrement les lettres ne sont ni sur la même ligne ni sur la même colonne. Dans ce cas, les lettres codées sont dans les coins opposés du rectangle formé en suivant la même ligne. Mais un schéma sera certainement plus parlant.

« je ne hc mp re bf » : N E -> K J : « je kj hc mp re bf« 

grilleplayfaircarre.png

 

Une fois entièrement codé, notre texte donnera : « AJKJHCJSTIBFPMIEIMTSMJBJVYJKAOEJRFLDLMIKJEJBKIJVMFLRIMFP »

 

Pour décrypter, c’est exactement l’inverse avec les 3 mêmes cas :

  1. Si les deux lettres codées sont sur la même ligne on prend celle immédiatement à gauche.
  2. Si les deux lettres codées sont sur la même colonne, on prend celle immédiatement au-dessus.
  3. Si les deux lettres forment les deux coins d’un rectangle, on prend les lettres qui forment les coins opposés tout en restant sur la même ligne.

 

Reconnaître un chiffre de Playfair :

Il n’y a pas vraiment de recette miracle. Ce sera plutôt une reconnaissance par élimination. Dans ce mode de chiffrement nous avons des digrammes donc un message qui a forcément un nombre de lettres paires. Aucun digramme ne peut avoir une lettre double, par contre les lettres peuvent l’être à cheval sur deux digrammes. Voilà pour les éléments les plus notables. Accessoirement, une lettre ne pourra pas coder pour elle-même et il ne peut y avoir que 25 lettres dans le texte codé. Autant dire pas forcément quelque chose qui va sauter aux yeux sans un examen minutieux et sur un texte assez long.

 

Se simplifier la vie : les outils de codage/décodage

Évidemment, s’il est intéressant de savoir coder/décoder à la main ce genre de chiffre, les outils informatiques vont nous être d’une aide précieuse ! Ben oui, on n’est pas des bêtes !

En voici quelques-uns :

DCode, évidemment ! C’est le site qui reste évidemment la base de toute manipulation de code secret. Le module de Playfair est très bien fait. Il vous faudra entrer le mot-clé dans la partie « déchiffrement » ou « chiffrement ».

PlayFairdCode.jpg

Pour cela deux options : la première consiste à remplir la grille à la main, la seconde, plus simple, à entrer votre mot-clé. Dans cette seconde solution, une lettre déjà entrée ne sera pas affichée dans le champ de saisie et le site vous proposera de compléter automatiquement le reste de la grille avec le reste de l’alphabet sans, au choix, le « J », le « V », le « W » ou le « Q ».

Pour le reste, toutes les options par défaut sont celles à conserver pour un codage « standard », mais vous pouvez choisir des réglages avancés en modifiant les décalages, la taille de la grille et l’ordre des lettres. Normalement pour une cache mystère, les réglages devraient être laissés par défaut.

CGC, autre logiciel bien connu des géocacheurs sous Android. Il y a également un module pour décrypter un chiffre de Playfair. Ici les options sont bien plus réduites, mais devrait être suffisantes : soit on « considère que « I=J » soit que « W = VV ». Ce dernier choix est d’ailleurs un peu curieux et peut conduire à un fragment de texte complètement incompréhensible si un « W » se trouve dans le texte, pour la partie qui suivra ce caractère.

gcc.jpg

Vous trouverez de nombreux autres sites qui feront les conversions avec plus ou moins de succès. Faites attention dans vos choix de codeur/décodeur, que la version « française » avec le W = V soit possible sous peine de vous retrouver avec des textes indéchiffrables.

Comment « craquer » un code Playfair sans la clé ?

Normalement dans notre activité, la clé nous est donnée ou alors il faudra la trouver à l’aide d’une autre énigme. Mais si vraiment vous êtes coincé, vous pouvez toujours tenter de « brutaliser » un peu le code. Sur un texte standard court, ce n’est que rarement possible, mais dans le cas spécifique du géocaching, on a un avantage : souvent, on sait « un peu » ce que l’on cherche 😉 Évidemment, cette partie n’a pas vraiment d’intérêt pour tous, et vous pouvez terminer votre lecture ici, si le reste ne vous intéresse pas. C’est une partie un peu technique, et j’espère ne pas avoir fait trop d’erreurs.

Playfairbordel

C’est parti pour des schémas de fou !!! Désolé, j’ai tout fais à la main, ça va plus vite pour moi.

Par convention, je me servirai des majuscules pour un texte chiffré et des minuscules pour un texte déchiffré.

Si on avait un long texte, on pourrait se baser sur les analyses de fréquences. Autant ça fonctionne bien sur un long texte pour un substitution monoalphabétique (une lettre remplaçant une autre), autant dans le cas de notre chiffrement basé sur des digrammes, il faudrait un très long texte. En géocaching on a souvent à faire à de courts textes qui, en plus, concernent un vocabulaire particulier, c’est-à-dire celui des chiffres. On peut ainsi oublier cette méthode qui ne fonctionnera pas. Je vous donne tout de même un lien vers la fréquence des digrammes pour le français, sachant, qu’évidemment, chaque langue à la sienne. Sur un très long texte, on pourrait calculer la fréquence de chaque digramme et la comparer avec celle de la langue du message. Des fréquences proches donneront des indices sur un décryptage possible. Mais nous verrons cela dans un article sur les chiffrements monoalphabétiques.

FrequenceBigramme.png

Extrait de la fréquence des digrammes issu du site Bibm@th.net

Dans notre cas, la technique va consister à deviner une partie du texte pour reconstituer la grille de déchiffrement au fur et à mesure. Cette grille nous permettra de déchiffrer de nouvelles parties du texte. Reste à espérer que cela nous permette de déduire de nouveaux mots dans notre texte. Et le tout nous permettra de placer de nouveaux digrammes dans la grille…. et ainsi de suite. Et plutôt qu’un long discours, je vais vous donner un exemple de résolution sans avoir le mot clé. Je vous rappelle toutefois que cela vous prendra certainement moins de temps de chercher la clé dans le listing, qu’a tenter de la deviner.

Voici notre texte crypté :

FEIRZHHGGFOTLGOJETCGDVVUADJHBDYANBOETDTBGLOEUDVU / DVUXDGUYDGDYBSETCGDVSNLNCTDCDFYKDFBEJHBDGTBEEJ

Le mot clé est : « un des 50 meilleurs blogs francophones dédiés au géocaching » (je ne prends pas trop de risques, je ne pense pas qu’il y en ait autant :p… mais s’il devait y en avoir plus, merci d’augmenter le « classement » :p)

Première étape, nous allons couper le texte en digrammes, puisque c’est par paire qu’il nous faudra décoder les lettres.

FE IR ZH HG GF OT LG OJ ET CG DV VU AD JH BD YA NB OE TD TB GL OE UD VU / DV UX DG UY DG DY BS ET CG DV SN LN CT DC DF YK DF BE JH BD GT BE EJ

Et on va un peu observer le texte. Tout d’abord, nous avons un nombre de lettres paires et aucun doublon de type « XX ». Donc il est possible que ce soit bien un chiffre de Playfair. Dans le cas contraire, nous pouvions tout de suite arrêter la recherche, nous faisions fausse route.

Vu que notre texte est en deux parties, il y a des chances que ce soit des coordonnées Nord et Est (ou autre, selon votre coin de France ou du monde) et en général, dans ce genre de configuration, on a le Nord en premier et l’Est en second. De plus, on remarque une séquence commune : ET CG DV qui se situe dans la même zone (début de 2e tiers) de chaque séquence. Il y a des chances que ce soit « degrés ». À noter que vous n’aurez pas toujours ce type de configuration, car « XX de gr es » ou « Xd eg re sX » ne produira aucun élément commun.

Dans ma région on les coordonnées sont de type « quarante-neuf degrés nord / zéro six est » etc…  et ça tombe bien, il y a la place pour écrire « quarante-neuf » (6 digrammes pour 8 paires de lettres). On peut d’ailleurs imaginer sans trop de risques d’erreurs que le « quarante-neuf » soit juste avant le « degré ». Pour les deux premiers digrammes, on peut avoir « Nord », « Rdv à » ou que sais-je…  Je vais pour l’instant attendre d’avoir des éléments supplémentaires. Moins on suppute, moins on risque de se retrouver dans une impasse.

D-Code va pouvoir nous donner un petit coup de main pour placer ce que l’on cherche avec la partie « Attaque par mot probable ». Si on entre « quaranteneufdegres », on aura différentes possibilités de placer ce mot probable de notre texte. Et si ça ne confirme pas la position, au moins ça ne l’infirme pas non plus. On peut donc continuer. On va déjà placer tout ce que l’on connait et évidemment si on trouve d’autres digrammes identiques on va les placer également. Ici, on aura que DV que l’on retrouvera.

DCodeplacementPlayfair.png

(Une partie de) toutes les possibilités de placement de « 49° » dans le texte

FE IR ZH(qu) HG(ar) GF(an) OT(te) LG(ne) OJ(uf) ET(de) CG(gr) DV(es) VU AD JH BD YA NB OE TD TB GL OE UD VU / DV(es) UX DG UY DG DY BS ET(de) CG(gr) DV(es) SN LN CT DC DF YK DF BE JH BD GT BE EJ

Dans un chiffre de Playfair, les lettres codées/décodées d’un digramme sont permutables. Cela veut dire que le digramme « ET = de » permet de dire que « TE = ed ». Ici, nous n’avons rien de ce genre.

C’est maintenant que commence le gros du boulot : on va construire notre grille de décryptage avec les infos que l’on a trouvées. J’aurai, bien sûr, pu poursuivre les « devinettes » un peu plus amont, car on se doute que le début de la première ligne est « Nord », et que le début de la seconde est « Est ». Et que d’ailleurs, si on compte les lettres, il est possible d’y caser « zéro zéro six ». Mais omettons cela pour l’instant et construisons notre grille.

Le but va être de faire des allers-retours entre le texte et la grille, pour compléter l’une à l’aide de l’autre et inversement. Nous allons choisir deux paires de digrammes décodés ayant au moins deux lettres communes. Si on ne trouve pas cette configuration, on ne pourra pas attaquer le décryptage « en force ».  On va prendre, par exemple,  « HG=ar » et « GF=an ». On a ainsi le « H » et le « a » en commun.

On a vu qu’il y a trois règles pour (dé)chiffrer le code : en ligne, en colonne et en rectangle. Il faut donc tenter les trois solutions.

play01.jpg

Les 3 premières possibilités de placement

1 : en colonne où les lettres décodées sont au-dessus, 1 : en ligne, on place la « a »  à gauche du « H » et idem pour le « r » par rapport au « G » ou 3 : en rectangle où les lettres sont dans les coins opposés. Vous pourriez vous demander comment savoir s’il faut écrire « AH RG » ou « RG AH ». Et bien c’est absolument identique vu que l’on peut décaler les lignes et colonnes de la grille, le résultat sera toujours le même. Par contre vous pourriez vous demander s’il faut écrire « AH RG » ou « AHRG », car là ce sera différent… et bien pour l’instant, on ne le sait pas, donc dans le doute pour l’instant je ne les colle pas ensemble (je fais une marque en pointillé pour m’indiquer que je ne sais pas), mais ça pourra changer dans l’avenir. Nous avons donc pour l’instant 3 départs possibles avec un digramme. Nous allons maintenant ajouter un deuxième digramme ayant deux lettres en communs avec ce que l’on a déjà. Un nouveau digramme = 3 possibilités pour le placer. Donc 9 grilles possibles. Un 3e digramme = 27 possibilités…. etc… :p Alors non, rassurez-vous, car notre grille ne possède que 5 cases sur 5 donc à un moment (qui sera très vite atteint) les lignes/colonnes vont être pleines et on va supprimer des possibilités. En fait vous allez voir, que ça ne va pas trop grandir et que l’on va même pouvoir rapidement supprimer des options de départ.

play02.jpg

Ici, nous avions choisi « GF=an ». Reprenons notre première grille AH RG en colonne (cas 1). En théorie, il est possible de placer ce digramme des 3 façons différentes, mais en pratique ce n’est pas le cas. Si on essaye de les placer en colonne, il n’y a pas la place : il faudrait placer « F » et « A » dans une colonne de 5 cases où il y a déjà 4 éléments. En ligne, c’est n’est pas non plus possible, car il faudrait que GFAN soit dans la même ligne, mais nous avons défini que A et G sont en colonne. Donc il n’y aura qu’une possibilité : en rectangle.

Notre premier placement de AHRG en ligne (cas 2), ne nous donne qu’une solution de placement en rectangle pour FN pour les mêmes raisons que précédemment et le placement de AHRG en rectangle, nous donne également qu’un placement possible en colonne. Donc nous arrivons à 3 possibilités au lieu des 9 possibles. Ce qui est bon signe pour la suite ! On va pouvoir ainsi continuer à placer les digrammes au fur et à mesure en prenant à chaque fois un digramme ayant deux lettres en communs et en prenant bien soin de garder tout l’historique des placements. Quand il n’est pas possible de placer un digramme, c’est que la « branche est morte et on peut la supprimer ». Quand on est a cours de digrammes, on peut placer sur notre texte chiffré les différentes possibilités avec les nouvelles suppositions et faire ressortir celles qui sont possibles ou non, en fonction qu’un texte déchiffré possible en ressort.

C’est là que je vais faire un petit aparté. On pourrait penser que ce serait plus simple, de commencer avec des digrammes, comme OT = te et ET = de. Car là on a un super cas où l’on a que deux possibilités : soit on arrive à la suite de lettre DETO en ligne, soit en colonne, et c’est tout. Une possibilité de moins au démarrage équivaut à un effet de multiplication des grilles possibles énormes. Et en plus on a pas de doute sur l’enchaînement des quatre lettres. Alors oui et non. Non, dans le sens que si l’on ne trouve pas de digrammes disponibles possédant des lettres communes, on se retrouvera dans une impasse, on ne pourra pas en ajouter à cette série sans devoir faire des supputations sur le texte codé. Mais oui, car 4 lettres qui se suivent c’est toujours bon à prendre, car des fois, avec un peu de chance, il s’agira d’une ligne avec 4 lettres qui ont un début de sens. Et là, coup de bol, le bout de clé « DETO » et l’indice « un des 50 meilleurs blogs français… », nous donne la clé et donc la grille. Ce serait dommage de passer à côté de ça, surtout que ça prend 2 minutes à faire et à défaut d’avoir autant de chance, cela permettra peut-être de résoudre d’autres digrammes du texte.

Un digramme de type « CG = gr » nous donnera « également des infos utiles, car on saura que l’on aura la suite « RGC » en ligne ou en colonne dans la grille. Et avec un peu de chance vous pourriez faire le lien entre « DETO » et « RGC » :p, Mais bien sûr, comme dans le cas précédent, cela n’apparaîtra que si les suites de lettres sont en ligne et au début de la grille. Nous n’allons pas prendre en compte pour l’instant ces informations pour la suite et continuer notre petit bonhomme de chemin avec notre grille. À noter que ce genre de digramme avec une lettre commune dans le couple codé/décodé permet de le placer dans la grille avec une seule lettre commune avec la grille.

On peut ajouter les digrammes LG = ne et CG = gr, l’un après l’autre. Commençons par « LG = ne ». Dans le cas 1 nous n’avons que l’option en ligne. Dans le cas 2, nous avons deux placements possible pour la configuration en rectangle et une pour le placement en colonne. Enfin, dans le cas 3, nous avons 2 possibilités de placements en rectangle. Donc nous n’avons pour l’instant 6 possibilités de grille.

Play03.jpg

Le nombre de grilles possibles vient d’augmenter

On ajoute le digramme « CG = gr ». Et celui-ci, nous permet d’invalider la moitié des grilles : soit il n’y a pas la place de positionner C à droite de GC, soit GC ne sont pas en ligne ou colonne.  Nous n’avons donc plus que 3 grilles.

Play04.jpg

On a pu supprimer la moitié des possibilités pour revenir à 3 grilles

 

À ce stade, nous n’avons plus de digrammes ayant deux éléments communs avec ce qui est déjà en place.  Nous allons donc nous retourner vers le texte crypté pour voir si nos grilles temporaires nous permettent de déchiffrer de nouveaux digrammes. Il faudra faire autant de déchiffrement que nous avons de grilles. Dans notre cas, il faudra donc faire trois tentatives de déchiffrement. Nous en étions à cette étape :

FE IR ZH(qu) HG(ar) GF(an) OT(te) LG(ne) OJ(uf) ET(de) CG(gr) DV(es) VU AD JH BD YA NB OE TD TB GL OE UD VU / DV(es) UX DG UY DG DY BS ET(de) CG(gr) DV(es) SN LN CT DC DF YK DF BE JH BD GT BE EJ

Nous avons « FE » qui nous donne (?n) (? = lettre inconnue) pour les cas 1 et 3 et (n?) pour le cas 2. « GL » nous donnera (en) pour le cas 1 et 2 et (r/?)'(c/?). « LN » nous donnera (n(g/?)) pour le cas 1, (ng) pour le cas 2 et (g?). Et… c’est tout…. Dans le cas de LN = n(g/?) et autres notations de la sorte, c’est que pour l’instant comme nous n’avons pas pu « figer » la position des lettres, le digramme décodé peut être aussi bien ng que n?.

1) FE(?n) IR ZH(qu) HG(ar) GF(an) OT(te) LG(ne) OJ(uf) ET(de) CG(gr) DV(es) VU AD JH BD YA NB OE TD TB GL(en) OE UD VU / DV(es) UX DG UY DG DY BS ET(de) CG(gr) DV(es) SN LN(n(g/?) CT DC DF YK DF BE JH BD GT BE EJ

2) FE(n?) IR ZH(qu) HG(ar) GF(an) OT(te) LG(ne) OJ(uf) ET(de) CG(gr) DV(es) VU AD JH BD YA NB OE TD TB GL(en) OE UD VU / DV(es) UX DG UY DG DY BS ET(de) CG(gr) DV(es) SN LN(ng) CT DC DF YK DF BE JH BD GT BE EJ

3) FE(?n) IR ZH(qu) HG(ar) GF(an) OT(te) LG(ne) OJ(uf) ET(de) CG(gr) DV(es) VU AD JH BD YA NB OE TD TB GL(r/?)(c/?) OE UD VU / DV(es) UX DG UY DG DY BS ET(de) CG(gr) DV(es) SN LN(g?) CT DC DF YK DF BE JH BD GT BE EJ

Il est maintenant temps de faire quelques hypothèses supplémentaires au vu des quelques lettres que nous avons en plus. Clairement, le cas numéro 2 m’inspire plus que le 1. Tout d’abord la première lettre avant le quarante-neuf est un N suivit de quatre espaces comme dans « NORD » alors que dans les cas 1 et 3 on a la forme « ?N?? » qui ne me donne pas trop d’idées de mot à caser. De plus, apparaissent les lettres « ??NG » comme dans « VINGT » juste après les degrés, et ça tombe bien, le secteur est en coordonnées N 49°2….. Comme je vous l’ai dit plus haut, la seule façon que nous aurons de craquer un chiffre de Playfair, va être de savoir ou en tout cas de supposer une partie de ce que l’on cherche. Je vais donc continuer à placer des digrammes dans la grille en faisant des « paris ». Je vais donc me focaliser sur la grille 2 et je reviendrai en arrière, si ça ne mène nulle part.

Donc j’ajoute dans le cadre de mon cas numéro 2 :

FE(no) IR(rd) ZH(qu) HG(ar) GF(an) OT(te) LG(ne) OJ(uf) ET(de) CG(gr) DV(es) VU AD JH BD YA NB OE TD TB GL(en) OE UD VU / DV(es) UX DG UY DG DY BS ET(de) CG(gr) DV(es) SN(vi) LN(ng) CT DC DF YK DF BE JH BD GT BE EJ

J’ajoute FE=no dans ma grille 2 puis IR=rd. Dans ce second ajout, je n’ai qu’une lettre commune avec le reste de la grille, mais comme j’ai forcément une suite DRI, je peux la placer. Et grâce aux places libres, je n’ai qu’une option.

Play05 (1).jpg

Je peux regarder ce que je peux décoder de nouveau : OE = (?d), DG = er, DC = (?r), DF = (oi), AD = (ro)

FE(no) IR(rd) ZH(qu) HG(ar) GF(an) OT(te) LG(ne) OJ(uf) ET(de) CG(gr) DV(es) VU AD(ro) JH BD YA NB OE(?d) TD TB GL(en) OE(?d) UD VU / DV(es) UX DG(er) UY DG(er) DY BS ET(de) CG(gr) DV(es) SN(vi) LN(ng) CT DC(?r) DF(oi) YK DF(oi) BE JH BD GT BE EJ

La texte codé se décrypte doucement. Je vais pouvoir faire quelques autres suppositions. On peut par exemple imaginer que comme pour les coordonnées nord, le début des coordonnées (ES??ER??ER????) donne quelque chose comme EST ZERO ZERO SIX (en se basant sur la zone géographique et la formulation du nord).

FE(no) IR(rd) ZH(qu) HG(ar) GF(an) OT(te) LG(ne) OJ(uf) ET(de) CG(gr) DV(es) VU AD(ro) JH BD YA NB OE(?d) TD TB GL(en) OE(?d) UD VU / DV(es) UX(tz) DG(er) UY(oz) DG(er) DY(os) BS(ix) ET(de) CG(gr) DV(es) SN(vi) LN(ng) CT DC(?r) DF(oi) YK DF(oi) BE JH BD GT BE EJ

On recommence à placer les digrammes possibles dans la grille. DY =os laisse une incertitude quand au fait qu’il soit collé au reste de la grille, donc pour l’instant je le laisse « incertain ».

Play06.jpg

Puis on peut placer BS = ix qui peut être placé de deux façons.

Play07.jpg

Sauf que l’on remarque quelque chose d’intéressant : on a les lettres X et Y sur la même ligne. Or, comme on le sait quand on crée la grille de Playfair, on met le mot clé puis on termine de remplir les cases avec le reste de l’alphabet dans l’ordre. Donc, sauf à avoir codé avec le mot…euh… Zanzibar ou xylophone, par exemple, il y a toutes les chances que la grille finisse par XYZ. Ainsi, d’une part on peut éliminer une des deux possibilités pour le placement de B et X, et d’autre part on peut placer les grilles et les colonnes correctement pour les faire terminer par XY, et en plus on peut placer le Z. Certes, c’est là encore un pari, mais qui semble raisonnable. Je vous conseille, comme à chaque fois que vous tentez un « pari » de mettre une marque pour pouvoir revenir à votre dernière « incertitude, si votre cheminement ne va nulle part. Mais cela permet souvent de gagner pas mal de temps. L’intérêt de pouvoir placer les lignes et colonnes et de pouvoir essayer de décrypter le mot de passe et du coup de pouvoir tout décoder d’un coup.

Play08

Notre mot de passe serait quelque chose comme « DE?O?RGCAHIN », le « B » puis le « F » qui suivent alors que nous avons en début de grille les lettres CDE, nous indique à priori que notre mot de passe est terminé et que l’on reprend l’ordre alphabétique. Soit vous avez trouvé le mot de passe avec ces éléments, soit vous continuez à chercher des digrammes à décoder pour voir si de nouveaux mots se révèlent.

On peut d’ailleurs en profiter pour figer la ligne SXYZ, car comme on termine l’alphabet dans l’ordre, il n’y a aucune chance que le « L » se trouve au milieu de tout ça. Voici donc notre grille à ce stade.

play09-e1566412597973-1.jpg

Les nouveaux couples de lettres que nous pouvons décoder sont : BD = i?, YA = ((?f/o),  NB= in, BE = n?

FE(no) IR(rd) ZH(qu) HG(ar) GF(an) OT(te) LG(ne) OJ(uf) ET(de) CG(gr) DV(es) VU AD(ro) JH BD(i?) YA((?f/o) NB(in) OE(?d) TD TB GL(en) OE(?d) UD VU / DV(es) UX(tz) DG(er) UY(oz) DG(er) DY(os) BS(ix) ET(de) CG(gr) DV(es) SN(vi) LN(ng) CT(t?) DC(?r) DF(oi) YK DF(oi) BE(n?) JH BD(i?) GT BE(n?) EJ

Si on regarde ce qui peut être décryptable sans trop de risques d’erreurs, on a par exemple : nord quarante-neuf degrés ??ro??i?…. Deux lettres suivies de ro, je ne vois que « zéro ». On peut donc imaginer que VU = ze. On peut donc placer le digramme suivant dans la grille qui devient :

Play09.jpg

Le mot clé qui semblait bien évident depuis un mot commence à clignoter. DE#OURGCAHIN pourrait bien être DETOUR GEOCACHING, soit DETOURGCAHIN pour le mot à mettre dans la grille. Si à ce stade vous n’avez pas trouvé, vous pouvez continuer à faire des allers-retours entre le grille et le texte. Moi, je m’arrête là et je vais pouvoir remplir ma grille définitive.

Mon texte décodé sera donc : nord quarante-neuf degrés zero huit point deux cent douze / est zero zero six degres vingt trois point huit cent un ! Allons géocacher !!!!

 

Conclusion du « hack »

Le hack du mot de passe peut sembler simple comme ceci, mais il faut une part de chance, car les digrammes que vous pourrez deviner au départ vont définir le fait que vous puissiez arriver ou non à quelque chose. De plus, il est absolument impératif d’avoir une idée assez précise d’une partie possible du texte et de sa position. Pour cela, savoir comment l’owner à l’habitude d’écrire ses coordonnées est une aide précieuse, de même que le fait de regarder dans quelle zone géographique est la cache. Enfin le repérage d’éléments répétés va être une très utile pour pouvoir placer correctement ses suppositions. Pour le reste il ne faut qu’un peu de travail méthodique pour arriver à la solution.

Si vous avez eu à cracker un chiffre de Playfair et que mon article vous a aider, n’hésitez pas à me le signaler, ça me fera plaisir de le savoir 🙂

You may also like

1 comment

int3rstices septembre 27, 2019 - 12:28

A reblogué ceci sur Web Forge.

Reply

Leave a Comment