Bibm@th

Forum de mathématiques - Bibm@th.net

Bienvenue dans les forums du site BibM@th, des forums où on dit Bonjour (Bonsoir), Merci, S'il vous plaît...

Vous n'êtes pas identifié(e).

#1 07-01-2020 17:24:36

Rossignol
Membre
Inscription : 19-06-2015
Messages : 211

Le chiffre de Grandpré

Bonjour à tous,

J'ai mis en ligne la Cryptographie pratique de A. de Grandpré, un traité de cryptographie grand public de 1905.

L'auteur est imaginatif et propose divers procédés originaux de chiffrement.
J'aime bien le moyen pour convenir sans risque et à distance d'une clef pour l'avenir (page 30) :

Convenir d'une clef par correspondance ordinaire, c'est fort scabreux, la missive pouvant être décachetée en route. Comment faire?
Il y a de nombreux moyens. Je me contenterai d'en signaler un, mes lecteurs pouvant en imaginer de similaires à leur gré.
Je suppose que c'est avec mon frère que je veux correspondre et que nous avons un cousin ou un ami dont le prénom est Joseph, lequel était en garnison à Chambéry il y a six mois. J'informe tout simplement mon frère que, dans la prochaine missive que je lui adresserai chiffrée, c'est le nom de la garnison où était Joseph il y a six mois dont je me servirai à titre de clef.

Inscrivons donc :

C H A M B É R Y
3 5 1 6 2 4 7 8

Les chiffres indiquent le rang qu'occupe chaque lettre dans l'alphabet parmi celles dont le nom est composé, et nous aurons le nombre 35162478 comme clef. La lettre dans laquelle j'informe mon frère du choix de cette clef est-elle interceptée, quel est celui qui va pouvoir deviner quel est ce Joseph auquel je fais allusion et, par conséquent, le nom de la ville formant la base de la clef ?

On est loin de nos procédés modernes de chiffrement à clé publique !

Dans les livres de cryptographie (par exemple H. Fouché Gaines - Cryptanalysis), notre auteur est surtout connu pour son procédé de chiffrement du carré 10x10 (p.31).

L'idée est de remplir un carré 10x10 avec 10 mots de 10 lettres. On s'arrange pour que les initiales de ces dix mots forment un onzième mot qui sert à préciser leur ordre dans le carré. Il est nécessaire que les 26 lettres de l'alphabet apparaissent dans la grille. L'auteur donne une liste des mots de 10 lettres pour confectionner de tels damiers.

Par exemple, son damier numéro 1 est

   1 2 3 4 5 6 7 8 9 0
1  V O L U P T U E U X
2  I N Q U I E T U D E
3  M A J E S T U E U X
4  O B L I G E A N C E
5  U N I F O R M I T E
6  T W I C K E N H A M
7  I N G O L S T A D T
8  E I N S I E D E L N
9  R Y M K I E W I C Z
0  S H R E W S B U R Y

Je ne suis pas sûr que les mots soient faciles à mémoriser !

On code une lettre par ses coordonnées (ligne-colonne) dans le carré.

Par exemple, la lettre E peut être codée par 18 ou 26 ou 20 ou 34 ...etc.

Il s'agit donc d'une substitution homophonique (ou avec homophones) beaucoup plus difficile à casser qu'une substitution simple.

On voit que le mot BONJOUR peut se chiffrer 42 41 80 33 41 37 09 ou bien 07 74 52 33 55 19 56 ...etc.

Comme le damier contient 2 B, 4 O, 7 N, 1 J, 9 U et 4 R, le mot BONJOUR peut être chiffré de $2\times4\times7\times1\times4\times9\times4 = 8064$ manières différentes contre une seule manière avec une substitution simple.

Néanmoins, si le cryptogramme est assez long, on ne peut empêcher les répétitions des lettres fréquentes et les statistiques permettent de casser ce chiffre.
Il existe des algorithmes de résolution, par exemple :
* Efficient Cryptanalysis of Homophonic Substitution Ciphers
* Cryptanalysis of Homophonic Substitution Ciphers

Pour tester la robustesse de ce chiffre, j'ai construit une grille avec des mots tirés de la liste de Grandpré.
J'ai chiffré un texte en français (sans malice) de 690 caractères.
Il contient les mots "probables" (certains) : REGIMENT, UNIFORME, SOUSLIEUTENANT, COLONEL
Voila le cryptogramme :

09 22 38 84 19 45 52 23 07 96 62 45 22 14 26 33 55 15 43 20 13 30 16 26 45 74 23 11 70 61 19 61 93 07 37 59 95 94 07 77 04 39 15 05 99 15 14 98 32 37 52 15 39 60 88 19 96 02 87 65 91 33 49 62 16 76 47 26 73 97 16 57 13 27 05 93 41 24 50 38 02 73 38 38 87 71 40 28 74 55 01 24 45 95 62 10 45 20 49 42 81 50 74 65 16 26 77 37 59 49 36 94 25 56 37 82 58 87 74 04 64 56 27 43 69 90 53 81 82 07 26 43 28 85 61 10 99 50 46 11 13 42 02 82 58 87 24 26 45 95 31 36 51 91 77 09 47 29 28 47 46 64 14 38 84 89 41 59 05 62 52 37 02 25 66 09 41 10 20 67 99 93 20 55 93 99 14 85 04 82 76 39 45 18 26 43 87 23 17 01 14 57 76 82 47 97 98 49 14 57 55 78 00 17 96 18 30 22 98 55 28 88 21 50 71 29 20 01 19 52 31 44 55 29 69 23 28 25 26 14 41 24 53 92 86 92 27 63 69 78 84 08 30 25 26 01 55 92 72 48 99 77 62 83 54 11 62 14 45 39 14 00 65 76 25 29 32 45 69 60 50 14 69 90 16 76 87 38 29 95 77 29 55 93 13 26 84 24 76 41 06 95 62 70 13 60 75 88 26 89 82 45 36 62 45 39 55 11 86 61 26 95 04 30 25 76 98 30 45 33 91 08 93 84 52 26 87 32 14 37 73 98 32 71 01 62 92 19 10 11 13 90 52 31 47 17 20 19 15 54 71 58 05 23 23 01 28 23 52 14 74 78 52 48 74 52 21 81 01 04 41 25 26 91 22 14 64 24 11 21 38 28 96 56 66 57 26 55 98 58 49 09 92 56 36 87 19 69 29 28 73 15 50 19 10 90 39 18 45 57 60 26 89 98 97 10 50 71 16 97 22 36 09 26 87 24 31 39 11 77 71 67 74 55 67 04 29 25 48 13 61 09 55 41 49 30 04 79 61 29 29 73 30 69 46 45 20 53 22 12 40 88 62 54 81 05 17 17 20 66 98 27 41 93 41 19 20 59 62 22 76 41 13 21 32 29 55 87 25 62 70 07 27 53 54 55 56 84 46 37 77 24 76 61 10 95 15 47 41 19 79 45 96 60 50 04 45 40 23 91 20 93 40 74 35 39 62 45 87 24 97 09 13 27 36 20 19 54 15 92 36 70 55 87 51 29 69 13 46 21 84 26 45 92 75 18 14 38 98 31 50 60 11 61 33 19 10 91 11 25 26 45 18 14 37 00 66 18 24 45 52 23 11 77 60 73 21 67 89 53 18 55 29 11 02 05 90 56 85 36 64 19 88 60 54 55 61 55 18 14 32 55 01 90 85 18 22 19 00 53 88 75 16 98 29 39 60 95 04 31 98 19 71 89 96 14 20 21 98 94 47 09 38 41 71 22 79 99 93 07 55 65 77 71 27 05 23 17 33 74 62 84 45 50 97 71 69 14 07 24 14 78 33 23 18 72 58 36 69 86

Si quelqu'un arrive à décrypter ce message, qu'il n'hésite pas à donner la solution ci-dessous.

N.B. Je tiens à préciser que même si cet article n'intéresse personne, il est hors de question que je l'efface ;-)

@+

Dernière modification par Rossignol (14-02-2020 18:43:01)

Hors ligne

#2 08-01-2020 20:43:17

Fred
Administrateur
Inscription : 26-09-2005
Messages : 5 409

Re : Le chiffre de Grandpré

Bonjour Rossignol

  Cette méthode est originale et intéressante et donne envie de lire le livre. La numérisation est d’excellente qualité. Est ce que cela a conduit à détruire le livre?

F.

Hors ligne

#3 18-01-2020 14:47:11

Rossignol
Membre
Inscription : 19-06-2015
Messages : 211

Re : Le chiffre de Grandpré

Bonjour Fred,

Je n'ai pas numérisé le livre, je l'ai téléchargé sur le net. Comme je n'arrive plus à retrouver le site où il était, je l'ai remis en ligne. Je suis en train de faire une page de bibliographie de la littérature cryptographique disponible sur internet et j'avais besoin d'un lien.

J'ai "décousu" le pdf, j'ai nettoyé chaque page avec Gimp et j'ai recomposé le pdf, c'est pour ça qu'il est assez propre !

Bonne lecture.

@+

Hors ligne

#4 13-02-2020 19:56:13

LeSingeMalicieux
Membre
Inscription : 18-01-2015
Messages : 62

Re : Le chiffre de Grandpré

Bonsoir Rossignol (et bonsoir à tous !)

J'ai lu avec grand intérêt ce message courant janvier, mais j'avoue manquer cruellement de temps pour m'adonner à ma passion pour la cryptographie (et pour participer comme je le voudrais sur ce forum).
Cependant, ce challenge était resté dans un coin de ma tête et ce soir je m'y colle !

J'aurais une question si tu le veux bien.

En reprenant ton exemple du damier n°1 (indiqué page 32 de l'ouvrage) :

   1 2 3 4 5 6 7 8 9 0
1  V O L U P T U E U X
2  I N Q U I E T U D E
3  M A J E S T U E U X
4  O B L I G E A N C E
5  U N I F O R M I T E
6  T W I C K E N H A M
7  I N G O L S T A D T
8  E I N S I E D E L N
9  R Y M K I E W I C Z
0  S H R E W S B U R Y

Tu proposes les deux chiffrements possibles suivants pour le mot "BONJOUR" :
- 32 31 70 23 31 27 99
- 97 64 42 23 45 09 46

Il me semble que ceux-ci demandent une modification de la numérotation des lignes, qui irait alors de 0 à 9 plutôt que de 1 à 9 suivi du 0 qui indexe la dernière ligne.
Voici le damier permettant de déchiffrer le mot "BONJOUR" avec tes deux cryptogrammes :

   1 2 3 4 5 6 7 8 9 0
0  V O L U P T U E U X
1  I N Q U I E T U D E
2  M A J E S T U E U X
3  O B L I G E A N C E
4  U N I F O R M I T E
5  T W I C K E N H A M
6  I N G O L S T A D T
7  E I N S I E D E L N
8  R Y M K I E W I C Z
9  S H R E W S B U R Y

Ma question est donc la suivante :
Dans ton cryptogramme, les lignes et les colonnes sont-elles indexées de 0 à 9 ou bien de 1 à 9 avec le 0 venant après le 9 ?


Je peux avoir l'air de chipoter en te posant cette question, mais ce n'est pas le cas.
Car, à mon sens, pour décrypter un cryptogramme tout en connaissant sa méthode de chiffrement, on s'applique toujours à exploiter la moindre contrainte de la méthode.

Or ici on sait que les dix mots utilisés pour les lignes sont présents dans un dictionnaire donné, et le fait que leur acrostiche soit également un mot du dictionnaire est une contrainte exploitable !
Voilà pour l'indexation des lignes.

D'autre part, vu qu'il y a manifestement une erreur d'indexation des lignes, je souhaitais savoir si l'indexation des colonnes, dans ton cryptogramme, va de 0 à 9 ou de 1 à 9 avec ajout du 0 à la fin.
Car (et là je fais déjà part de mon analyse) dans ton cryptogramme on trouve tous les bigrammes de 00 à 99, hormis trois : 24, 58 et 70.
Sur une grille de 10x10 à définir, on n'aurait donc que trois cases/lettres inutilisées ; on connait leurs coordonnées.
Il est aisé d'imaginer qu'elles correspondent à une lettre absente du message clair (un W par exemple - puisqu'une autre contrainte de la méthode de chiffrement indique que TOUTES les lettres de l'alphabet doivent être présentes dans la grille).
Donc, pour prendre l'exemple du 24 inutilisé, il m'est essentiel de savoir si dans le mot n°2 (suivant l'indexation des lignes) il s'agit de la 4e ou de la 5e lettre du mot qui est possiblement une lettre rare.
Voilà pour l'indexation des colonnes.

Merci d'avoir pris le temps de me lire.
J'aime toujours expliquer mon approche d'attaque devant un cryptogramme, en espérant qu'elle soit utile à d'autres passionnés ou néophytes, ainsi qu'aux lecteurs.

Hors ligne

#5 14-02-2020 18:47:43

Rossignol
Membre
Inscription : 19-06-2015
Messages : 211

Re : Le chiffre de Grandpré

Bonsoir LeSingeMalicieux

Tu as raison, j'ai fait une erreur dans la numérotation des lignes.

J'ai écrit un bout de code pour éviter les erreurs de chiffrement : j'ai bien traité les numéros de colonnes, mais j'ai oublié de faire la même chose pour les lignes. L'erreur est humaine, mais pour un vrai désastre il faut un ordinateur !

J'ai corrigé les codes, le nouveau cryptogramme suit la numérotation de Grandpré.

Je suis désolé de t'avoir coupé dans ton élan.
Bon courage

@+

Hors ligne

#6 Hier 18:11:16

LeSingeMalicieux
Membre
Inscription : 18-01-2015
Messages : 62

Re : Le chiffre de Grandpré

Bonsoir Rossignol,

Soit sans souci quand à cette petite erreur, elle n'a pas franchement porté préjudice à mon implication.
Après ma première analyse j'ai commencé à m'appliquer à réétablir dans un format numérique le dictionnaire des mots de dix lettres de Grandpré, et il y a déjà du boulot !

Je te remercie grandement pour la correction apportée !

En espérant pouvoir t'apporter une réponse dans pas trop longtemps.

Amicalement et passionément.

Hors ligne

#7 Hier 19:57:43

LeSingeMalicieux
Membre
Inscription : 18-01-2015
Messages : 62

Re : Le chiffre de Grandpré

Rebonsoir :)

Rossignol, je dois avouer que j'ai beaucoup aimé cette phrase que tu as écrite :

Rossignol a écrit :

L'erreur est humaine, mais pour un vrai désastre il faut un ordinateur !

C'est tellement vrai !
Une petite approximation humaine étant propagée sans intelligence aucune par la machine, qui se contente de faire ce qu'on lui demande...

J'avais envie de confirmer avec malice que "l'erreur est humaine" :
J'en prends pour preuve le dictionnaire de mots de dix lettres fourni par Grandpré, dans lequel je viens de trouver le mot emphystique. J'ai beau compter et recompter, j'y trouve bien onze lettres !
Preuve qu'il était humain, et que l'erreur est permise même aux meilleurs :)

Bonne soirée !


EDIT : Il me semble que c'est également le cas de gallicienne...

Dernière modification par LeSingeMalicieux (Hier 20:41:34)

Hors ligne

Réponse rapide

Veuillez composer votre message et l'envoyer
Nom (obligatoire)

E-mail (obligatoire)

Message (obligatoire)

Programme anti-spam : Afin de lutter contre le spam, nous vous demandons de bien vouloir répondre à la question suivante. Après inscription sur le site, vous n'aurez plus à répondre à ces questions.

Quel est le résultat de l'opération suivante (donner le résultat en chiffres)?
soixante six moins quarantehuit
Système anti-bot

Faites glisser le curseur de gauche à droite pour activer le bouton de confirmation.

Attention : Vous devez activer Javascript dans votre navigateur pour utiliser le système anti-bot.

Pied de page des forums