Salut les fous de géocaching et de mystery caches ! Après les énigmes mathématiques et les puzzles logiques, ePeterso2 nous entraîne cette fois dans les méandres de la cryptographie, avalez un peu d’aspirine et c’est parti !
Introduction
Depuis aussi longtemps que la communication existe, il y a eu un besoin de partager des informations privées. Les chiffrements ont été utilisés par des représentants de gouvernements, des officiers militaires, des espions, des ambassadeurs, des révolutionnaires, des patrons d’entreprises, des chefs religieux, etc. Même le Kama Sutra traite de l’utilisation de codes pour aider les femmes à dissimuler les détails de leurs liaisons, l’écriture secrète est la 45ème dans la liste des 64 arts que les femmes devaient étudier (parmi lesquels le massage, la préparation de parfums, la sorcellerie, les échecs, la reliure et la menuiserie ).
Ce tutoriel ne vous en apprendra pas assez pour devenir un cryptanalyste pour la NSA. Mais il vous donnera, j’espère, une longueur d’avance pour transformer un tas de bêtises en un ensemble de coordonnées. En soi, il ne vous apprendra pas tout ce qu’il y a à savoir au sujet de chaque cryptage, mais il vous fera réfléchir pour trouver la bonne voie et vous donnera des liens vers des ressources à utiliser pour résoudre les énigmes cryptographiques.
Qu’est-ce que la cryptographie?
Le mot « cryptographie » est dérivé du mot grec qui signifie « écriture » et « cachée » – c’est l’étude des messages secrets. Le chiffrement est la conversion de l’information ordinaire (en clair) en charabia inintelligible (cryptogramme). Le déchiffrement est l’inverse, passer du texte chiffré au texte en clair. Un procédé de chiffrement est un couple de méthodes de cryptage et de décryptage.
Le fonctionnement détaillé d’un algorithme de chiffrement est contrôlé à la fois par la méthode de chiffrement et par une clé. Une clé est un paramètre secret de l’algorithme de chiffrement, connu seulement de l’expéditeur et du destinataire du message chiffré. (oui, je sais que ce n’est pas exactement vrai pour les algorithmes à clé publique, messieurs ou mesdames les experts en cryptographie 😉 )
La méthode de résolution d’un puzzle qui implique la cryptographie est d’un concept très simple: comprendre l’algorithme de chiffrement, et trouver la clé. Le processus pour trouver ces deux éléments d’information qui révéleront le message est appelée cryptanalyse.
Cryptages classiques et cryptages modernes
Un procédé de chiffrement classique fonctionne sur un alphabet de lettres et est généralement réalisé à la main (avec papier et crayon) ou avec de simples dispositifs mécaniques (comme une scytale). Les chiffrements modernes fonctionnent sur des bits et des octets, de plus nécessitent du matériel informatique et des logiciels spécialisés. L’écrasante majorité des algorithmes de chiffrement que vous trouverez dans les caches de puzzle sont classiques.
(Digression historique: Un logiciel de chiffrement peut également être considéré comme une munition, aussi dangereux que les armes et les véhicules militaires. Jusqu’en 1996, un logiciel de chiffrement n’a pas pu être exporté vers d’autres pays depuis que le gouvernement américain avait interdit l’exportation de tout cryptage plus fort que 40 bits. Malheureusement, un cryptage à 40 bits n’est pas assez fort pour protéger les renseignements sur Internet – le fait que les règlements ont été modifiés en même temps que l’Internet entrait dans une phase de croissance rapide n’est pas une coïncidence ).
Chiffrement par substitution simple
Un chiffrement par substitution est très simple – remplacer chaque lettre de l’alphabet avec une autre lettre ou un symbole. La clé de chiffrement est la correspondance entre un ensemble de lettres à un autre.
César
Le chiffre de César est appelé ainsi d’après Jules César, qui s’en servait pour communiquer en toute sécurité avec ses fidèles lieutenants. César utilisait ce chiffre avec un décalage (valeur de clé) de 3. Pour crypter une lettre dans un message, il prenait la 3ème lettre de l’alphabet après celle qu’il voulait chiffrer. A devient D, B devient E, et ainsi de suite (et si il est allé au-delà de Z, il recommence à partir de A).
La roue de chiffrement est un disque constitué de 2 roues, intérieure et extérieure, avec l’alphabet écrit sur le pourtour des deux roues. On tournant l’une des roues avec la valeur de décalage, pour cette raison le chiffrement de César est souvent appelé « ROT » (abréviation de « rotation »), et le mot « ROT » est souvent suivi par la valeur de décalage : donc le chiffrement de César serait appelé « ROT3 ». La roue de codage ci-dessous met en œuvre ROT7 (allant de dedans en dehors) ou ROT19 (allant de l’extérieur à l’intérieur).
L’indice d’une page de description du cache est chiffré en utilisant un chiffrement de César avec un décalage de 13 (aka ROT13). Cette valeur est très pratique car les méthodes de cryptage et de décryptage sont exactement les mêmes – Un chiffre à N, et N crypte à A.
(Note du Tof : et la table est très visuelle, en mettant les 13 premières lettres en dessous des 13 dernières)
Atbash
Le chiffrement Atbash substitue à chaque lettre de l’alphabet la lettre à l’extrémité opposée de l’alphabet. Par exemple, A devient Z, B devient Y, C devient X, etc. Le nom « Atbash» provient de la langue hébraïque, où la lettre aleph devient à tav, beth devient tibia, etc. La méthode peut être utilisée dans n’importe quelle langue qui a un alphabet ordonné.
Cryptogramme
Vous avez probablement vu des cryptogrammes dans les journaux, à côté des BD et des mots croisés. Un cryptogramme est une énigme composée d’une courte citation cryptée utilisant un chiffrement par substitution simple. La correspondance entre texte en clair et texte chiffré est aléatoire – il n’y a pas d’ordre pour les lettres du texte chiffré, comme dans les chiffres de César et Atbash. Le problème est de comprendre la correspondance et de trouver la citation.
Chiffre Pigpen ou parc à cochons
Autres symboles
- Chiffres, (A = 1, B = 2, etc… très fréquent),
- Symboles de polices de caractères (autres que les lettres et chiffres)
- Codes informatiques (comme ASCII ou EBCDIC),
- Photos (une fois, j’ai résolu un cryptogramme qui utilisait des photos d’insectes),
- Codes à barres (sur le dos des paquets ou des enveloppes),
- Le code Morse (ou —– -. ….. -. -. —- …),
- Drapeaux de sémaphore (ou cadrans d’horloge),
- Touches des claviers du téléphone (2 représente A, 22 est B, 222 est C, D est 3, etc.)
Et bien d’autres !
Chiffrement polyalphabétique
Le problème fondamental de tous les chiffres de substitution simples, c’est qu’ils peuvent être attaqués en utilisant une méthode de cryptanalyse appelée analyse de fréquence. C’est juste une façon élégante de dire «compter le nombre de fois où chaque lettre ou symbole apparaît dans le texte chiffré ». La lettre qui apparaît le plus est sans doute E, suivie de près par A, S, I, N et (Note du Tof: en langue française).
Des chiffres de substitution complexes ont été développés pour déjouer les tentatives de briser le code via l’analyse de fréquence. L’objectif de ces méthodes est d’obtenir que tous les symboles dans le texte chiffré apparaissent avec à peu près la même fréquence. Dans un procédé de chiffrement polyalphabétique, une seule lettre chiffré ne correspond pas à une lettre simple dans le texte clair. La lettre A à un endroit dans le texte chiffré peut décoder une lettre tout à fait différente de celle d’un A à un endroit différent.
Tabula Recta
Si la roue de chiffrement est l’un des principaux outils utilisés dans les chiffres de substitution, la tabula recta est l’un des principaux outils utilisés dans les procédés de chiffrement polyalphabétiques. Une tabula recta ressemble à ceci:
Vigenère
Le chiffrement de Vigenère est l’un des plus communs qui utilise une tabula recta. Le chiffrement nécessite que l’expéditeur et le destinataire se mettent d’accord sur un mot pour l’utiliser comme clé de chiffrement. Par exemple, supposons que le texte en clair à chiffrer est le suivant :
ATTACKATDAWN
L’expéditeur choisit un mot-clé et le répète jusqu’à ce qu’il corresponde à la longueur du texte en clair. Par exemple, le mot-clé « LEMON » donnerait la clé de cryptage complet:
LEMONLEMONLE
Utilisez les lettres en clair en ligne et les lettres-clés en colonne. Puis remplacez chaque lettre du texte en clair avec la cellule correspondante de la tabula recta. Pour la première lettre, dans cet exemple, la lettre A à la ligne L est la colonne L. Ensuite, la lettre correspondant à la ligne de la colonne E T est X. Après cela, la lettre à la ligne T M est la colonne F. Le texte chiffré est alors complété:
LXFOPVEFRNHR
Autokey
Ironie du sort, Vigenère n’a pas inventé le chiffre qui porte son nom – il a été effectivement inventé par Giovan Batista Belaso en 1553. Le chiffrement que Vigenère a inventé en 1586 est appelé le « chiffre autokey ». En raison d’une attribution erronée dans le 19ème siècle, le nom de Vigenère est malheureusement toujours associé avec un chiffre beaucoup plus faible que celui qu’il a inventé.
Le chiffre autokey est parfois appelé le «chiffre autokey de Vigenère« pour le distinguer du chiffre «Vigenère«. Le chiffre autokey est similaire à l’algorithme de chiffrement de Vigenère, mais avec une méthode différente de la construction de la clé qui rend la méthode de cryptage plus fort. Au lieu de répéter le mot clé plusieurs fois, la clé commence par le mot-clé suivi par le message en clair lui-même. Donc, la clé dans l’exemple ci-dessus serait:
LEMONATTACKA
Enigma
Enigma est un des chiffrements polyalphabétiques les plus sophistiqués jamais créés. Il a été développé par l’armée allemande et largement utilisé pendant la Seconde Guerre mondiale. Le récit de la façon dont le chiffre d’Enigma a été brisé est une histoire fascinante à lire.
Une machine Enigma consiste en un ensemble de 3 ou plusieurs rotors interchangeables, des anneaux de lettres qui peuvent être placés sur les rotors dans une quelconque position parmi les 26 possibles, un tableau de correspondance peut être utilisée pour transposer une lettre à une autre, un clavier pour la saisie de lettres du texte en clair, et un cadran lumineux pour la lecture des lettres de texte chiffré.
La valeur de la clé d’un message crypté avec Enigma se calcule en fonction des rotors spécifiques utilisés, du nombre de rotors, de la position de chaque bague de lettres sur le rotor, de la position de départ de chaque rotor, des connexions sur le tableau de correspondance, et d’un mot clé choisi. Appuyer sur une lettre du clavier fait tourner les rotors et active une lumière sur le cadran lumineux pour indiquer la lettre cryptée ou décryptée.
Chiffres polygraphiques
Un chiffre polygraphique utilise des groupes de lettres et non des lettres simples comme les unités de base de cryptage. Par exemple, AA pourrait être remplacé avec QJ, AB avec le RU, etc. Avec de simples lettres d’un chiffrement par substitution simple, il y a seulement 26 possibilités pour chiffrer chaque lettre, mais avec deux lettres groupées dans un chiffre polygraphique, il y a 676 possibilités. Cela rend ces chiffres beaucoup plus difficiles à casser .
Carré de Polybe
Quelques procédés de chiffrement polygraphiques font usage d’une disposition des lettres connues sous le nom d’un carré de Polybe. Le carré de base énumère les lettres dans l’ordre de gauche à droite et de haut en bas (I et J sont traités comme la même lettre), comme ceci:
Code « tapé »
Le code tapé, qui utilise un carré de Polybe, a été employé par des détenus pour communiquer en tapant sur les tuyaux ou les murs. Pour coder une lettre, un prisonnier appuyait sur un nombre de fois égal à la rangée de la lettre, une pause, puis un nombre de fois égal à la colonne de la lettre, puis s’arrêtait encore. Ainsi, le mot « THE » serait « tap tap tap tap (pause) tap tap tap tap (pause) tap tap (pause) tap tap tap (pause) tap (pause) tap tap tap tap tap ».
Playfair
Playfair est un chiffre qui apparaît régulièrement dans des caches mystery, des mots croisés cryptiques, et d’autres contextes. Le chiffre Playfair n’a pas été inventé par Lord Playfair, mais par son ami Charles Wheatstone.
Alors qu’un carré Polybe standard a les lettres ordonnées de gauche à droite et de haut en bas, la grille Playfair commence avec un mot-clé (avec des lettres en double supprimées), suivi par toutes les autres lettres de l’alphabet dans l’ordre. La lettre J n’est pas utilisée et, dans le texte en clair, est remplacée par la lettre I avant le cryptage. Par exemple, le carré Playfair utilisant le mot «cipher» comme clé devrait ressembler à ceci:
Voir la page Wikipedia sur Playfair pour plus de détails sur la façon d’utiliser le chiffrement.
Chiffre des 4 carrés
Le chiffre de quatre carrés utilise deux mots clés et quatre carrés de Polybe disposés dans une grille 2×2. Il s’agit d’un chiffre polygraphique très fort qui corrige une faiblesse relative dans le chiffre Playfair : en Playfair, si AB se crypte en XY, alors BA se crypte en YX, donc on sait qu’une paire vous donne automatiquement l’autre paire. Dans quatre carrés, AB peut se crypter en une paire complètement différente de celle de BA.
Chiffrement de transposition
Un procédé de chiffrement transposition modifie la position des lettres dans le texte en clair pour former le texte chiffré. Par exemple, supposons que le texte en clair est:
EIGHTFOURSEVEN
Une façon de le chiffrer est d’écrire le texte en clair uniformément réparti sur trois lignes, comme ceci (le remplir avec des lettres aléatoires à la fin pour avoir le même nombre de lettres):
EIGHT
FOURS
EVENX
Maintenant, lisez les lettres de haut en bas de chaque colonne pour créer le texte chiffré:
EFEIOVGUEHRNTSX
D’autres modèles utilisent des spirales, alternent de gauche à droite et de droite à gauche, etc. N’importe quel modèle peut fonctionner du moment que l’émetteur et le récepteur se mettent d’accord .
Chiffre-livre
Un chiffre-livre utilise un texte long comme une clé de chiffrement. Les textes classiques utilisés comprennent des dictionnaires, des livres religieux (comme la Bible), des documents gouvernementaux (tels que la Déclaration d’Indépendance), et plus encore.
Un procédé de chiffrement-livre crypte chaque lettre dans le texte en clair en faisant référence à la lettre même à une certaine position dans le document de référence. Pour crypter une lettre en clair, la remplacer par un ensemble de nombres qui peuvent être utilisées pour localiser la lettre dans le document: un triplet de nombres pourrait indiquer le numéro de page, numéro de ligne et le numéro de mot dans la ligne.
Cryptanalyse
Le but ultime de la cryptanalyse est de révéler le message caché. Cela signifie déterminer à la fois le chiffrement et la clé.
Expérience
N’ayez pas peur d’essayer quelque chose. La plupart de vos expériences ne révélera pas le message en clair, mais ne vous découragez pas juste parce qu’une tentative n’a pas fonctionné.
Devinez le chiffrement et la clé
La page de la cache contient souvent des indices sur quel algorithme et quelle clé sont utilisés. En fait, elle peut même vous indiquer explicitement l’un ou l’autre.
Recherchez les codes Pigpen, le code Morse, et les symboles de sémaphore – ils sont faciles à identifier et vous disent tout de suite l’algorithme et la clé.
Devinez le texte en clair
Rappelez-vous les conseils de la première leçon de cette série: commencez avec la fin en tête. Vous voulez au final un ensemble de coordonnées, donc cherchez de quelles façons cela pourrait être exprimé. Si vous voyez deux rangées de lettres, la 1ère ligne pourrait être la latitude, et la longitude en 2ème ligne. Essayez de remplacer les 1ères lettres ou les dernières d’une ligne avec « NORD » ou « EST ». Cherchez «NORD VINGT SIX », « NORD DEUX SIX », ou « VINGT SIX DEGRES » (Note du Tof : en fonction des coordonnées initiales de la géocache) dans la première ligne … si le message a été chiffré à l’aide d’un chiffrement par substitution simple, cela peut vous donner assez d’informations pour déverrouiller une grande partie du reste de la clé .
Recherchez les fragments de texte en clair
Il est rare que les méthodes de cryptanalyse donnent la clé et tout le message en clair en une seule fois. Utiliser la cryptanalyse se fait généralement à partir de fragments de message en clair, progressivement. Recherchez des mots ou des morceaux de mots quand vous expérimentez des méthodes. Et essayez de trouver les mots ou les phrases que vous attendez, en fonction de ce que vous pensez du contenu du message.
De courts segments de texte en clair qui sont connus (ou présumées) dans le texte chiffré sont appelés « cribs » (Note du Tof : euh, traduction, des anti-sèches en français ???)
Recherchez les mots et phrases
Si les lettres dans le texte chiffré semblent ressembler à des mots mal orthographiés, ils le sont probablement. Un message chiffré avec des espaces, de la ponctuation et des majuscules sont autant d’indicateurs que le message a été chiffré à l’aide d’un chiffrement par substitution simple. Recherchez des mots communs, comme les mots d’une seule lettre comme « A » et « I » (Note : en anglais seulement ! en français, viser « LA », « LE », « UN »). Essayez de remplacer les lettres de votre texte chiffré avec ces lettres et de voir si les autres mots commencent à apparaître.
Une façon d’ajouter de la sécurité à un message crypté est d’enlever les espaces et la ponctuation et de mettre en majuscule toutes les lettres.
Effectuer une analyse de fréquence
Comptez le nombre de fois que chaque lettre apparaît dans le texte chiffré. Les lettres les plus courants de la langue française sont (par ordre de fréquence décroissante):
E A S I N T R L U O D C M
Remplacez la lettre la plus présente avec E, la lettre suivante la plus fréquente avec A, et ainsi de suite. Si cela ne fonctionne pas, essayez de mélanger les lettres A, S, I, N, T jusqu’à ce que le texte clair commence à faire des choses qui ressemblent à de vrais mots (Note : la fréquence du E est largement au dessus des autres).
Recherchez les paires de lettres
Si le texte chiffré est constitué de paires de lettres, c’est un signe fort, il peut être chiffré avec Playfair. En outre, si aucune des paires de lettres ne contient de lettre en double (comme « EE »), c’est un autre signe qu’il utilise peut-être Playfair, vu que ce chiffrement ne génère jamais une paire de lettres en double. Si le texte chiffré n’est pas regroupé en paires, essayez de le regrouper en paires pour voir s’il y a des paires de lettres en double ou non .
Regardez les groupes de chiffres
Si votre texte chiffré est constitué de paires ou triplets de nombres, cela peut être un chiffre livre, surtout si le texte chiffré est lié d’une certaine façon à un document de référence. Cherchez des indices dans la page de la cache sur ce que le document de référence pourrait être.
Ressources
le portail de cryptologie de Wikipedia est un excellent point de départ pour la recherche d’informations de chiffrement. Il existe une catégorie entière consacrée à la chiffrements classiques.
Il y a un certain nombre d’outils en ligne gratuits pour vous aider à analyser et utiliser l’ensemble de ces chiffres. Un des meilleurs est sans conteste dcode.fr !
Prochain épisode, la stéganographie !
Voir aussi les mystery quizz, les mystery jeux de mots.
A reblogué ceci sur xmons.
J’aimeJ’aime
Si certains veulent tester une mystery enigma: http://coord.info/GC2V7BM mais il faut aller sur place pour obtenir les indices.
J’aimeJ’aime
Super, Eric, l’idée de la machine Enimga à imprimer pour aller sur le spot !
J’aimeJ’aime