Reconnaître/coder/décoder le carré de Polybe, ses variations et ses successeurs

by Fabien
2 comments

Le carré de Polybe est un grand classique des énigmes en géocaching, mais il est également à la base de bien d’autres codes qui prennent appui sur son concept tel que le chiffre des nihilistes, le tap code, le code ADFGVX, ou le chiffre de Delastelle. Je vous propose ici d’en comprendre le mécanisme de base, de voir ses variations et d’apprendre à les reconnaître si vous les croisez un jour sur une mystery. 13 154344 3511424424 !

Polybe expliquant la résolution d’une mystery à un géocacheur.

Le but de cet article est de vous faire découvrir les mécanismes de chiffrement/déchiffrement des principaux codes tournant autour du concept de Carré de Polybe.  Je vais commencer par une petite introduction pour expliquer pourquoi je me lance dans l’écriture de quelques articles sur les chiffrements. Ce sera un peu long, mais elle vaudra pour tous les articles sur les codages.

Évidemment, le but n’est pas que vous les appreniez par cœur ni que vous ne décodiez vos mysteries à la main, de nombreux outils informatiques sont là pour ça. Et heureusement !

Vous verrez, les concepts sont très simples à comprendre, à condition de commencer par les bases.

Mon but est que vous compreniez ce qui se passe derrière les algorithmes que vous utilisez sur Dcode, ou autres. Je pense que c’est important si vous voulez savoir reconnaitre un de ces codes quand vous le croiserez. Reconnaitre le chiffrement est généralement l’étape la plus compliquée d’une énigme quand celle-ci repose sur un code. Se familiariser avec le résultat des différents chiffrements vous fera gagner beaucoup de temps.

Mais comprendre les bases c’est également important pour pouvoir utiliser correctement les logiciels de décryptage. Pourquoi on vous demande une clé ? Une seconde clé ? Un alphabet ? etc. Si vous ne comprenez pas comment fonctionne le codage, vous risquez de passer à côté de l’option qui rendra le texte intelligible.

S’approprier un code, permet de l’intégrer dans une énigme qui pourra être plus subtile ou plus construite. Intégrer, par exemple, le chiffrement des nihilistes dans son contexte historique, apportera du corps à votre énigme plutôt que de simplement faire un copié/collé du résultat de votre chiffrement.

Et enfin, parce que c’est quand même intéressant de savoir comment ça marche !

 

Le carré de Polybe

Le concept du carré de Polybe est très simple : chaque lettre de l’alphabet sera remplacée par un couple de chiffres qui sera toujours le même. C’est donc ce que l’on appelle un chiffrement par substitution monoalphabétique. La substitution monoalphabétique, comme son nom l’indique, vise à remplacer une même lettre par une lettre, un nombre, un symbole ou plusieurs éléments qui seront toujours les mêmes. Autant dire que la sécurité de ce genre de message n’est pas extraordinaire, et elle l’est d’autant moins que le texte est long ou que l’on sait quels mots sont susceptibles de s’y trouver. Mais tout ça sera l’objet d’un prochain article.

Pour en revenir à notre carré de Polybe, nous le devons à l’historien grec du même nom. Celui-ci ne l’a pas inventé, mais il le décrit vers 150 avant J-C. À cette époque, les Arabes n’avaient pas encore découvert l’analyse de fréquence des lettres et ce code était donc certainement considéré comme relativement sécurisé. Avant de voir comment il était utilisé à l’époque, voyons un peu le système de chiffrement.

Polybe. Source Wikipédia CC BY-SA 3.0

Comment le coder ?

Pour réaliser le codage/décodage, il suffit de tracer un carré de 5 cases par 5 cases et d’y placer les lettres dans l’ordre alphabétique. Alors, vous allez me dire (oui, oui, je lis dans vos pensées) que 5*5=25 et que, jusqu’à preuve du contraire, notre alphabet comporte 26 lettres. Eh bien, je vous félicite pour votre sagacité et vous invite donc à fusionner deux lettres. En général, on fusionnera I et J. Voila donc à quoi cela ressemble notre tableau :

Ici le E est en ligne 1 et colonne 5. Donc 15

Une fois ce tableau réalisé, chaque lettre sera codée en prenant son numéro de ligne, puis le numéro de la colonne. Ainsi « GEOCACHING » sera codé : 22 15 34 13 11 13 23 24 33 22.

Vous voyez, ce n’est vraiment pas compliqué dans sa version de base.

 

Comment le décoder ?

Pour décoder le message, ce sera bien sûr aussi simple. On prend chaque paire de chiffres et on les reporte dans le tableau, le premier chiffre étant donc le numéro de la ligne et le second celui de la colonne. Ainsi 31 = 3ème ligne, 1er colonne, soit la lettre ‘L’.

 

Quelles sont les variantes ?

Il existe quelques variations possibles dans la forme simple du carré de Polybe. La première est de remplacer la fusion I/J par la suppression du V, du W ou du Z. Si vous décodez un texte et que le résultat est incompréhensible, c’est qu’il faudra modifier votre tableau pour quelque chose sur le carré suivant. Ou inversement. Choisir la fusion I/J ou la suppression de V,W ou Z, décalera évidemment d’un cran toutes les lettres qui seront après ‘I’.

Un carré de Polybe sans le ‘Z’

Voici par exemple un texte codé avec un carré sans ‘J’ et décodé avec un carré sans ‘Z’. Mon message d’origine était « hello les geocacheurs« , ce qui est codé par 23153131343115432215341311132315454243. Au décodage, il deviendra ‘hekkn ker gencachetqr‘. Vous voyez que seules les lettres placées avant le J sont correctes et tout le reste est décalé d’une lettre.

La seconde variation possible est d’inverser la paire ligne/colonne par la paire colonne/ligne. Bon, ce n’est à priori pas fréquent, mais si vous pensez que votre code est un carré de Polybe et que ça ne passe pas, ça vaut le coup de tenter.

Il est même possible d’alterner le chiffrement en alternant les lettres codées ligne/colonne avec celles codées colonne/ligne. Bon, pourquoi pas… Mais là, la résolution va être plus que corsée s’il n’y a pas de hint, surtout qu’à ma connaissance, aucun outil ne gère ce genre d’alternance. Il faudra donc le décoder à la main.

Normalement, le résultat d’un carré de Polybe s’écrit sans caractères spéciaux et sans espace. Rien ne vous empêche, en tant qu’owner, d’ajouter cela, mais en théorie on ne met que des chiffres tous collés les uns aux autres.

 

Quelle est son histoire ?

Nous avons vu que nous devons le nom du carré de Polybe au fameux historien grec qui vécut aux alentours de 150 av. J-C. Ce code permettait de transmettre des informations à distance. Pour ce faire, il fallait un jeu de tablettes numérotées, 10 flambeaux et 2 écrans pour pouvoir occulter les flambeaux. Si ça vous fait penser au ‘cul de chouette’, c’est normal :p. Sur ces tablettes nous n’avons pas de dessin de carré. En fait nous avons cinq tablettes sur les lesquelles sont inscrites 5 lettres (ou 4 sur la dernière, car l’alphabet grec ne comporte que 24 lettres).

L’émetteur du message lève deux flambeaux et celui qui le récupère fait de même pour indiquer qu’il est prêt à prendre l’information. L’émetteur va alors lever ou occulter un certain nombre de flambeaux à gauche pour indiquer le numéro de la tablette, puis fera pareil à droite pour indiquer le numéro de la lettre sur cette tablette. Le receveur n’a plus qu’à regarder dans ses tablettes pour avoir la lettre décodée. Il va, par exemple, regarder la 2ème tablette et y lire la 5ème lettre.

Évidemment, c’est un processus lent et générateur d’erreur. Si un signal est manqué, c’est tout le code qui est décalé et devient illisible. Aussi, il était important d’avoir le message le plus court possible à transmettre.

Le système original du carré de Polybe. Source wikipédia CC BY-SA 4.0

Il existe une version avec des drapeaux de 5 couleurs différentes. Chaque drapeau correspond à un chiffre. C’est un système bien plus simple à mettre en place, mais qui nécessite de se mettre d’accord sur la valeur de chaque drapeau.

 

Le carré de Polybe avec une clé

Le premier vrai ‘raffinement’ que l’on peut apporter à notre carré de Polybe est de lui ajouter une clé. Cette clé se place en début de tableau. Si vous avez lu l’article sur le chiffre de Playfair, on procède de la même façon. On remplit les premières cases avec les lettres de la clé, tout en omettant les lettres qui se répètent. Puis on remplit le reste de la grille avec les lettres restantes dans l’ordre alphabétique. Ainsi, si on prend la clé ‘GEOCACHING’, elle devient GEOCAHIN une fois les lettres en doublon retirées. On commence par les placer dans la grille puis on remplit le reste du carré ainsi :

L’intérêt est évident : on crée une substitution monoalphabétique différente de la substitution de base. Donc, pour déchiffrer le message, il faudra connaitre cette clé afin de pouvoir reconstituer le tableau. Mais cela reste du chiffrement monoalphabétique, donc relativement sensible à être craqué par analyse de fréquence ou avec la recherche de mots probables.

Il existe également des clés qui correspondent à l’intégralité de l’alphabet mis dans un ordre aléatoire. Mais si vous ne fournissez pas la grille, il ne sera possible d’attaquer la grille que par ‘forçage’.

 

Comment les reconnaitre ?

Si vous avez un peu suivi, reconnaître un carré de Polybe sera assez simple. Nous avons un nombre pair de chiffres allant de 1 à 5 et uniquement ceux-là, tel que dans le message : 22153413111323243322.

À noter qu’il serait également possible d’avoir des torches ou d’autres représentations permettant d’indiquer des numéros.

Vous pourriez également voir évoquer Polybe ou l’histoire grec.

 

Le carré de Polybe avec des chiffres

Je pense que vous imaginez bien le concept : on ajoute les chiffres de 0 à 9 et on place le tout dans une grille de 6*6. Cette fois on peut y placer toutes les lettres. Donc ici, on aura toujours un nombre pair de chiffres, mais qui iront de 1 à 6.

 

Le carré de Polybe avec des chiffres et des symboles.

Il existe un carré de Polybe de taille 8*8 dans lequel sont placé en plus des symboles dont un espace, un point, des virgules, etc. Il est ainsi possible d’intégrer la ponctuation ou de donner des liens internet ou des adresses mail. Voici le carré standard avec les symboles.

 

Où trouver des outils pour les déchiffrer ?

Évidemment, Dcode vous permettra de résoudre vos mysteries chiffrés avec un carré de Polybe, quel que soit le type de grille. Pensez à choisir votre grille via le champ situé sous celle-ci. Vous pouvez choisir une des grilles standards ou entrer la vôtre. Si vous avez une clé à entrer, c’est le même champ qui vous sera utile. Dcode vous proposera de compléter automatiquement le reste de la grille. Il y a également d’autres options telles que l’inversion des numéros de ligne/colonne, la modification de la taille de la grille ou des options de tentative de déchiffrements automatiques.

Évidemment tous les codes présentés ici ont leur page Dcode, je ne le rappellerai donc pas systématiquement.

 

Le code frappé

Vous le trouverez également sous le nom de « Tap code ». Il a été utilisé par des prisonniers pour communiquer en frappant contre les murs ou les tuyaux pour communiquer entre cellules. Il semblerait qu’il date de 1965 et aurait été d’abord utilisé par les prisonniers américains lors de leur captivité pendant la guerre du Vietnam.

Comment le coder ?

Le code est très simple. On reprend notre carré de Polybe de taille 5*5. On l’utilisera sans clé et on fusionnera le C et le K.

Il suffit ensuite de frapper le nombre de coups voulus pour indiquer la ligne puis la colonne. Par exemple le « P » sera codé de 3 coups pour la ligne puis de 5 coups pour la colonne. On peut par exemple le représenter par « … ….. » .

Chaque série de coups est séparée d’un silence court pour l’espace entre deux éléments d’une paire de chiffres et d’un silence long pour séparer les lettres les unes des autres.

Entre chaque phrase, les prisonniers utilisaient le caractère ‘X » c’est-à-dire 5 coups puis 3 coups. Celui qui recevait le message, renvoyait le caractère ‘K’ (certainement pour OK, c’est-à-dire la lettre « C ») pour accuser réception du message.

Maintenant que vous êtes familier avec le décodage d’un carré de Polybe, le décodage ne posera pas de soucis.

Wikipédia, nous indique que ce code à l’avantage d’être très facile à mémoriser, et notamment bien plus que le morse. En effet, il suffit de retenir uniquement la première colonne du carré de Polybe : AFLQV. Deux coups donnent la ligne du ‘F’. Puis il suffit de réciter les lettres dans l’ordre depuis cette lettre. Donc 2 coups puis 2 coups donnent F…G. La lettre est donc G.

À noter également que pas mal de mots étaient abrégés pour gagner du temps. GC pourrait par exemple signifier « Géocaching ».

 

Comment le reconnaitre ?

Il peut s’agir de n’importe quelle séquence d’un même élément (bruit, point, image, etc.) qui se répéterait et qui se distinguerait par un regroupement par paire.

Les thèmes des prisons ou de la guerre du Vietnam pourraient également être une piste.

Un prisonnier frappant au mur. Source : https://www.pbs.org/

 

Le chiffre des nihilistes

Ce code fut utilisé par les nihilistes russes dans les années 1880 dans le cadre de leurs actions contre le régime tsariste. Il fut ensuite repris et modifié dans d’autres cadres historiques.

Comment le coder ?

L’idée est de partir d’un message chiffré avec un carré de Polybe avec une clé, que maintenant vous connaissez bien, et de lui additionner une seconde clé de surchiffrement également codée avec ce carré de Polybe. Voyons cela en détail.

En pratique, on fait un premier codage simple du texte à chiffrer avec un carré généré par la première clé.  Donc c’est un simple code Polybe avec clé. Puis on code la seconde clé avec ce même carré. C’est-à-dire que l’on considère la seconde clé comme un second message à coder à l’aide du carré muni de la première clé. On additionnera ensuite les deux suites de chiffres en répétant le résultat de la seconde clé autant de fois que nécessaire. Mais un exemple vaudra mieux qu’un long discours.

Dans ce genre de chiffrement, si l’owner joue le jeu, vous devriez avoir une mystery sur les thèmes russes/terroristes/tsaristes/,etc…  Jouons donc nous aussi le jeu. Nous allons proposer au géocacheur de déjouer la surveillance de l’armée tsariste pour s’infiltrer dans un dépôt de munitions. Mais vous pourriez aussi bien lui proposer d’intercepter la tentative d’attentat des nihilistes. Nous allons coder le message : « Projection dix degrés cent mètres ». Notre première clé sera ‘REVOLUTION’ et la seconde sera ‘RUSSE’. On oubliera bien sûr les accents et on remplacera le ‘J’ par un ‘I’.

Pour rappel, nous commençons par enlever toutes les lettres en doublon dans la clé. REVOLUTION deviendra donc REVOLUTIN. Nous construisons un carré de 5 cases par 5 cases où nous commençons par inscrire la clé modifiée, puis le reste de l’alphabet. Nous obtenons le carré de Polybe suivant :

Ce qui nous donne pour notre texte codé avec le mot clé ‘revolution’ : 4411142312352223142431235331123211125135122422431222111251

On fait la même chose en chiffrant notre deuxième clé  avec le même carré. On obtient RUSSE = 1121515112.

Il n’y a plus qu’à additionner les deux en répétant la deuxième clé autant que besoin :

Il n’y a là que le début du décodage. Vous remarquerez certainement quelque chose d’étonnant. 53 + 51 = 04 et 51 + 51 = 02. En effet, si  l’addition des 2 valeurs dépasse 100 alors on enlève le ‘1’ des centaines. Donc 51 + 51 = 102, ce qui donne ‘02‘.

Le décodage complet donne : 5532657424434374653644440484244632630215324393754333426276

Comment le décoder ?

Pour le déchiffrer le message, c’est évidemment l’opération inverse :

  1. On crée un carré de Polybe avec la première clé.
  2. On décode la clé 2 avec ce carré.
  3. On soustrait, paires de chiffres par paires de chiffres, la clé numéro 2 que l’on répète autant de fois que besoin, au message code. Évidemment, si le premier chiffre de la paire est un ‘0’, il faudra lui ajouter un ‘1’ devant.
  4. On se retrouve ainsi avec une série de chiffres que l’on décode paire par paire via notre carré de Polybe.

Il existe bien sûr autant de variations que précédemment, aussi bien en modifiant la taille du carré, qu’en interchangeant les numéros de ligne et de colonne.

 

Comment le reconnaitre ?

Nous avons ici toujours un nombre pair de chiffres, mais contrairement à un Polybe simple, nous n’aurons jamais de ‘1’, mais nous aurons la présence de tous les chiffres y compris du ‘0’. Toutefois, si l’on découpe la chaîne en paire de chiffres, nous n’aurons jamais de paires finissant par ‘0’.

Et comme vu précédemment, il peut y avoir un thème tournant autour de la Russie ou des Nihilistes.

Des nihilistes russes emmenant des soldats vers leur lieu d’exécution. CC BY 4.0 https://wellcomecollection.org/works/fzvwann6

 

Les chiffres ADFGX et ADFGVX

Toujours utilisé dans un contexte martial, le chiffre ADFGX fut utilisé à partir de 1918 par les Allemands pour chiffrer leurs communications. Là encore, ce chiffre découle du carré de Polybe. Le nom de ce code correspond aux lettres qui sont utilisées pour crypter le message, mais vous le trouverez aussi sous le nom de GEDEFU 18 pour GEheimschrift DEr FUnker 18, soit chiffre des télégraphistes 18 en Allemand.

Alors pourquoi deux noms ADFGX et ADFGVX ? Au départ le code ADFGX fut inventé par un colonel allemand du nom de Fritz Nebel. Il correspond à un carré de Polybe de 5*5 où les chiffres de 1 à 5 sont remplacés par les lettres A, D, F, G et X. Puis le système fut étendu à un carré de 6*6 pour y ajouter les chiffres. Dans cette configuration, les chiffres de 1 à 6 furent remplacés par les lettres : À, D, F, G, V et X.  Ces lettres furent choisies, car elles sont suffisamment différentes les unes des autres en morse pour limiter le risque d’erreur lors de la transmission du message.

Évidemment, ce carré n’est pas rempli avec les lettres dans l’ordre de l’alphabet. Chaque jour, les télégraphistes allemands avaient une nouvelle grille pour chiffrer leur message. On a donc un carré de Polybe chiffré avec une clé.

Vous allez me dire que pour un message transmit en temps de guerre, envoyer un simple carré de Polybe, même avec une grille modifiée quotidiennement n’est pas très sécurisé. Et vous avez raison, cela reste une bête substitution mono alphabétique !  C’est pour cela que l’on ajoute un surchiffrement par transposition à l’aide d’une clé. C’est là l’originalité de ce code par rapport aux précédents. Si vous connaissez la transposition rectangulaire, c’est ce principe qui est appliqué (nous le verrons dans un article dédié aux transpositions). Sinon nous allons voir tout de suite comment cela fonctionne.

Comment le coder ?

J’ai choisi de codé le message : « Venez mettre plein de PFs sur mes caches » . Ma première clé sera « GEOCACHE » et ma seconde sera « POLYBE » avec le codage ADFGX. Vous connaissez maintenant le principe : on fait un carré de Polybe avec une clé (GEOCACHE). La seule variante est le remplacement des valeurs 1,2,3,4,5(,6) par A,D,F,G,(V),X.

Le résultat de ceci sera : XAADFGADXXFFADGGGGGDADFXFDADDXFGDFADFXDGGFGFGXGDFFADGFAGAXAGDAADGF

Nous allons ensuite réaliser la transposition. Pour ce faire, nous créons une nouvelle grille comportant autant de colonnes que de lettres dans la deuxième clé. J’avais choisi « POLYBE« .

Puis on remplit le tableau avec le message précédemment chiffré. On remplit ligne par ligne, de haut en bas et de gauche à droite.

Bon ici, je me suis arrêté à trois lignes, mais il faut bien sûr y mettre l’intégralité du message. Pour l’exemple cela suffira. S’il reste des cases vides, il est d’usage (mais pas obligatoire) de mettre des ‘X’ dans les cases restantes.

L’étape suivante consiste à mettre les colonnes dans l’ordre alphabétique des lettres de la clé. Si deux lettres se répètent, ce qui n’est pas conseillé, on les met dans l’ordre d’apparition. Donc POLYBE devient BELOPY. 

Enfin, on lit les lettres par colonne, de gauche à droite et de haut en bas. On obtient donc pour le tableau tronqué : FFG GFG AXG ADD XAA DXG.

Pour ma phrase entière, le résultat sera donc : FFGFDAGGGAGGFGXXDFDFGFAXGAADDGAAAADDDDGXFFGAXAAGFFFGFADDXGDDFGXDXD

Comment le décoder ?

Bravo ! Vous savez désormais coder les codes ADFG(V)X à la main ! Pour le décoder, on fera évidemment l’inverse.

  1. Faire un tableau avec la seconde clé dont les lettres seront dans l’ordre alphabétique : BELOPY dans notre exemple précédent.
  2. Y mettre les lettres du message codé en remplissant colonne par colonne. Il faudra au préalable diviser le nombre de lettres du message par le nombre de lettres de la clé 2 pour avoir le nombre de lignes à remplir. Si le nombre n’est pas un entier, on arrondira au chiffre supérieur. Dans ce cas là, cas où l’owner n’a pas complété le tableau avec des lettres « nulles’, il y restera donc des cases blanches à la fin.
  3. Remettre les colonnes dans le bon ordre pour former la clé 2. Donc dans notre exemple, repasser de BELOPY à POLYBE.
  4. Réécrire les lettres ligne par ligne, de gauche à droite et de haut en bas.
  5. Faire le carré de Polybe à l’aide de la clé 1 (GEOCACHE pour nous).
  6. Décoder lettre par lettre le message obtenu à l’étape 4 via le carré de Polybe.

Vous voyez, c’est tout simple, ou alors… utilisez Dcode. Ben oui, faut quand même pas déconner :p

 

Comment le reconnaitre ?

Bon normalement, si vous avez lu ce qui précède, reconnaitre un chiffre ADFG(V)F ne vous posera aucun souci, c’est très facilement identifiable aux lettres ADFGF et éventuellement X qui le constitue exclusivement.

Accessoirement on a toujours un nombre de caractères pairs.

Éventuellement, il peut y avoir un background de transmission allemande, de première guerre mondiale ou de transmission en morse.

Des télégraphes allemands pendant la Première Guerre mondiale. Notez le « design » du groupe électrogène.

 

 

Le chiffre de Delastelle ou bifide.

On doit ce chiffrement à Félix-Marie Delastelle qui l’invente en 1895 et lui donne le nom de « cryptographie nouvelle ».  Je n’ai toutefois pas trouvé d’utilisation de ce chiffre dans la vie réelle, si ce n’est sa publication dans le journal « Revue du génie civil ».

Comment le coder ?

Dans ce chiffrement nous allons toujours débuter le chiffrement notre message avec un carré de Polybe 5*5, mais ici les ‘coordonnées seront notées horizontalement sur deux lignes, d’où le ‘bifide’ du nom. Puis nous allons séparer nos lettres par groupe de ‘X’ éléments avant de faire une lecture groupe par groupe et ligne par ligne. Enfin, nous coderons les chiffres paire par paire en utilisant à nouveau le carré de Polybe. Voyons cela en détail avec un exemple.

Prenons le message « Signal est ton dieu ». Nous allons choisir arbitrairement de faire des groupes de 5 éléments et nous allons utiliser le carré de Polybe 5*5 qui suit avec la clé ‘GEOCACHING‘. À noter, qu’ici, en théorie on retire le ‘J’ de la grille et qu’il n’y a pas de notion de ‘clé’, mais plutôt d’une grille complètement aléatoire. Bien sûr libre à vous d’utiliser une clé pour former la grille et de fusionner deux autres lettres. Maintenant que vous connaissez ma paresse naturelle, donc je réutilise une grille déjà vue avant qui n’est donc pas parfaitement désordonnée. Si vous n’utilisez pas de clé, mais une grille complètement aléatoire, il vous faudra fournir la grille, sinon le code sera indéchiffrable.

On va ensuite remplir un tableau avec notre message et regrouper les lettres par 5 (la valeur de notre ‘série’). Si des cases restent blanches, on les remplit avec une valeur nulle. Ici, j’ai choisi le caractère ‘X’.

Il ne reste plus qu’à la remplir avec notre grille de chiffrement. Pour le « S » je vais donc écrire dans la première case le numéro de la ligne (4) puis en dessous celui de la colonne (3). Et ainsi de suite. Ce qui donne :

Puis nous allons lire les chiffres série par série, ligne par ligne. On prend donc les 5 premiers chiffres sous « SIGNA » soit 42121 puis ceux de la ligne du dessous c’est à dire 32135 puis on fait de même avec « ESTTO » et ainsi de suite. On obtient donc 42 12 13 21 35 31 44 43 23 44 12 25 13 35 52 45 55 55 33 33.

Enfin nous prenons chaque paire de chiffres pour en trouver sa valeur dans le carré le Polybe. Donc, ici, 42 = R, 12 = E, etc… Ce qui nous donnera : REOHPFTSNTEIOPIU

 

Comment le décoder ?

C’est évidemment le processus inverse

  1. On décode le message à l’aide du carré de Polybe pour avoir une série de chiffres: REOHPFTSNTEIOPIU donne 42 12 13 21 35 31 44 43 23 44 12 25 13 35 52 45 55 55 33 33
  2. On découpe cette série de chiffres par groupe de « x » éléments, 5 dans notre cas : 13 32 13 53 14 44 12 34 43 22 51 43 55 25 -> 42121 32135 31444 32344 12251 33552 45555 53333
  3. On place ces chiffres dans un tableau. La première série dans la première en haut à gauche, la deuxième série en bas à gauche, et ainsi de suite :
  4. 42121 31444 12251 45555
  5. 32135 32344 33552 53333
  6. On reporte chaque paire de numéros haut/bas dans la grille de chiffrement : 4/3 -> S, 2/1 -> I, etc… jusqu’à trouver « SIGNAL EST TON DIEU »
Comment reconnaitre le code ?

Ici, ce ne sera pas aussi simple que les autres puisque nous avons une série de lettres, comme dans tant d’autres codes. Ce sera donc par élimination. Normalement l’owner devrait vous fournir une clé ou les lettres de l’alphabet dans un certain ordre et il devrait également y avoir un nombre pour vous indiquer combien de lettres constituent une ‘série’.

Le traité élémentaire de cryptographie de Delastelle. Vous pouvez le lire en intégralité sur Internet Archive.

 

Conclusion :

Nous en avons fini avec les principaux chiffrements tournant autour du carré de Polybe. Comme vous l’avez vu, certains sont très caractéristiques et pourront être reconnus avec certitude très facilement. Pour d’autres ce sera moins simple.

Je n’ai pas mis de partie ‘Comment le craquer’ pour ces différents codes. Je ferai un article qui parlera de tous les chiffrements monoalphabétiques dans un prochain article dans lequel on verra différentes techniques. À noter que l’on a souvent un vocabulaire assez particulier qui rend compliqué l’analyse de fréquence. Pour ce qui est des chiffrements avec une transposition, il va être difficile (mais pas impossible) de craquer ces codes. En tout cas, à ma connaissance, n’espérez pas pouvoir le faire à la main dans un délai raisonnable. Il faudra tenter avec Dcode quand celui-ci le propose, mais avec un taux de réussite relativement moyen, ou coder vos propres outils. Techniquement, avec suffisamment de temps machine, c’est toujours possible.

Si jamais j’ai oublié un code dérivant du carré de Polybe, n’hésitez pas à me l’indiquer. Je corrigerai le tir.

 

 

You may also like

2 comments

Benoit décembre 20, 2020 - 12:12

Excellent article, merci pour le travail de recherche et la vulgarisation des techniques. J’ai hâte de mettre en pratique !

Reply
Fabien janvier 18, 2021 - 8:11

Merci beaucoup ! Désolé pour la réponse très tardive

Reply

Leave a Comment