Rechercher
Contactez-nous Suivez-nous sur Twitter En francais English Language
 





















Abonnez-vous gratuitement à notre NEWSLETTER

Newsletter FR

Newsletter EN

Vulnérabilités

Se désabonner

Solution du Crypto du Jeu du Calendrier 2022 de Global Security Mag

février 2022 par François QUIQUET, Cyber Security Architect at Thales (CISSP) on integrated and embedded Systems for Airspace Protection

Comme l’année dernière, le magazine Global Security Mag a organisé un jeu du Calendrier 2022. Il s’agissait de réussir à décoder un message chiffré que vous pouvez télécharger ici. Comme l’année dernière, j’ai de nouveau l’honneur d’être déclaré le grand gagnant de ce concours.

Le jeu est sorti le 16 décembre et je me suis mis à commencer à chercher le 20 décembre.

Je ne suis pas moi-même directement le trouveur de la solution. Sur cette énigme, j’ai travaillé en équipe sur un forum Discord avec deux autres personne (de Suède). Une fois l’indice sur le chiffre de Hill donné, nous avons travaillé par brut force. De mon côté, je m’occupai des matrices 2x2 et de leur côté, mes coéquipiers s’occupaient des matrices 3x3. La solution étant une matrice 3x3, l’honneur de la trouvaille leur revient donc. J’ai soumis notre réponse au nom de notre équipe. Mes deux coéquipiers étant à l’étranger et pas dans le domaine de SSI, l’organisateur du jeu a décidé de me déclarer gagnant

Je vous soumets donc ci-dessous notre solution.

Si vous voulez, vous aussi, jouer et tenter de trouver le code alors ne lisez pas la suite de ce message.

Comme l’année dernière, le message, cette année, a de nouveau été chiffré par Hervé Lehning et Herbert Groscot de l’ARCSI (Association des Réservistes du Chiffre et de la Sécurité de l’Information).

Le crypto est un PDF de 3 pages. Le début du crypto a la forme suivante :

EKSBF WDSIH UJCJQ FIDZE KDWTB BSWXH ZVMXF JKDOD TTMTR HHQFJ QEXTG EKANA KKKRV BNDVL

YCNDV XFJJW FULDC UZNGR OTBWT NLBLW QAZGI PJKYH UTIVB CTEXM VULUD IKHSU NVTQL YFKHZ

Le PDF représente des lignes de 14 blocs de 5 caractères soit des lignes de 70 caractères. En tout cela représente 4095 caractères (espace non compris).

Etant amateur de chasse au trésor, je connais certains codes de base souvent utilisés dans ces jeux. En général, on commence toujours par tester tous ces codes les uns après les autres avant de chercher autre chose. C’est ce que j’ai fait ici grâce au site www.decode.fr.

J’ai d’abord fait une analyse des fréquences : X=5%, B=4,8%, W=4,7%, T=4,7%, etc ....A noter, qu’on a également les 26 lettres de présentes. Cela ne représente pas les fréquences d’un texte en français. Il ne s’agit donc pas d’un simple code par transposition, il y a forcément un code par substitution (comme le code césar) ou un mélange des deux. L’IC (indice de coïncidence) = 0,03925. L’indice de coïncidence est une technique de cryptanalyse qui permet de savoir si un texte a été chiffré avec un chiffre mono-alphabétique ou un chiffre poly-alphabétique ou autre en étudiant la probabilité de répétition des lettres du message chiffré.

Pour tout chiffre mono-alphabétique, la distribution des fréquences est invariante, donc l’IC sera le même que pour le texte clair. Idem pour les chiffres de transposition. Donc, si on calcule l’IC d’un texte chiffré avec un chiffre mono-alphabétique, on devrait trouver IC égal environ à 0.074 (en français). Si l’IC est beaucoup plus petit (p. ex. 0.039 comme ici), le chiffre est probablement poly-alphabétique ou un double chiffrement.

J’ai d’abord commencé par tester quelques codes de base comme le chiffre de Vigenère, le chiffre de Beaufort, le chiffre de Vernam, un 2 carrés, un 3 carrés, etc ... La difficulté était d’avoir la clé. J’ai donc tenté un déchiffrement par brut force. Mais ça n’a rien donné.

J’ai ensuite testé le chiffrement par la scytale spartiate. C’était le code de l’année dernière donc ça n’a rien donné.

Je sais que certains membres de l’ARCSI sont fans de ENIGMA, une machine qui a servi pendant la 2e guerre mondiale, à l’Allemagne pour chiffrer ses communications.

Enigma est une machine électromécanique portative, inventée par l’Allemand Arthur Scherbius, reprenant un brevet du Néerlandais Hugo Koch, datant de 1919.

Le principe du codage qu’effectue la machine ENIGMA est celui de la substitution : à chaque lettre de l’alphabet est associée une autre lettre. Cependant, la substitution utilisée n’est pas unique. La règle de substitution change pour chacune des lettres du message en clair (pour en savoir plus sur la machine Enigma)

Comme c’est de la substitution, je me dis que ça colle bien à ce que je cherche. De plus, l’analyse de fréquence correspond à un encodage par Enigma (fréquences complètement aléatoires). Donc je me lance.

Il existe plusieurs version de la machine ENIGMA dont les plus courantes sont celles à 3 rotors et à 4 rotors. Déjà une première difficulté à surmonter. Ensuite, il faut décider dans quel ordre utiliser les rotors, définir leur position initiale, choisir ce qu’on appelle un réflecteur et enfin, donner un tableau de connexions. Pour que le destinataire puisse déchiffrer le message, ces informations étaient indiquée dans un code book qui changeait tous les jours.

J’ai donc essayé de déchiffrer le code en prenant différents code book. Ensuite, j’ai utilisé un générateur de code book en donnant des dates contemporaines comme le 16 décembre 2021, date à laquelle est sortie le jeu ou encore le 25/12/2021 et même le 01/01/2022. Ca n’a rien donné. De toute façon, c’était en vain car j’ai appris plus tard qu’un code book était unique et qu’il changeait a chaque nouvelle génération.

De plus, dans le texte codé, il y a des séquences de plusieurs lettres qui se répètent dont certaines plus d’une dizaine de fois comme la séquence DHDPDXXBA. Ca ne peut donc pas être un code Enigma. Quelle ne fut pas ma déception.

Face à ma démotivation, j’ai laissé le code se reposer jusqu’à la publication du premier indice : « Un indiscret nous a dit qu’il s’agirait d’un Chiffre de Hill ». La motivation revenue aussitôt. Direction le site dcode.fr pour comprendre comment fonctionne le Chiffre de Hill.
Aucun texte alternatif pour cette image

Un chiffre de Hill consiste à chiffrer un message en substituant les lettres du message, non plus lettre à lettre, mais par groupe de lettres. De plus, un chiffre de Hill est une méthode qui utilise des matrices carrées, comme des matrices 2x2 ou des matrices 3x3. Je ne voyais pas d’autre solution que de faire un déchiffrement par brut force.

J’ai rejoint un forum. J’ai commencé à discuter avec une personne de l’énigme. De mon côté, j’ai essayé plusieurs outils comme le site dcode.fr mais également d’autres, pour tenter de casser le code avec des matrices 2x2. C’est assez fastidieux et ça n’a rien donné.

Mes deux coéquipiers qui se sont également attelés à casser le code par brut force sont tombés sur une matrice 3x3 dont le texte en français avait du sens. Il s’agissait du Schmilblick de Pierre Dac.

La matrice de déchiffrement est égale à

Dans un chiffre de Hill, la matrice de chiffrement est la matrice inverse modulo 26, soit

car

Voilà, vous savez tout..... Si vous trouvez une solution plus simple ou plus élégante, je suis preneur.

Bravo aux deux auteurs, Hervé Lehning et Herbert Groscot de l’ARCSI. Merci à Global Security MAG et à Marc Jacob Brami.

Le texte complet du "Schmilblick" de Pierre Dac peut être lu ici. L’année dernière, il s’agissait déjà d’un texte de Pierre Dac mais avec la "Fabrication de la confiture de nouilles". Que nous réservent les auteurs pour le jeu de l’année prochaine ?


Voir les articles précédents

    

Voir les articles suivants