Archives pour la catégorie Sciences

Le déclin de l’art de chiffrer sous Napoléon Ier

Sous l’impulsion de la dynastie Rossignol, la cryptographie française a connu une première apogée aux XVIIe et XVIIIe siècles.

La régression de la Révolution et de l’Empire

L’excellence française en matière de cryptographie se perdit à la Révolution. Une des raisons pour cela est sans doute la dissolution du cabinet noir, ce qui était une des doléances importantes de 1789. Une expertise qui se transmettait de génération en génération semble alors s’être perdue. En particulier, la faiblesse de ne chiffrer que les parties qu’on veut garder secrètes devint presque systématique dans l’armée révolutionnaire et dans l’armée impériale qui lui succéda. On y distinguait deux types de chiffres, les petits et les grands, même s’il ne serait pas exagéré de dire qu’ils étaient tous rendus petits par leurs utilisateurs, comme cela ressort des papiers de George Scovell , le décrypteur du général britannique Wellington au Portugal et en Espagne.

George Scovell (1774 – 1861)

Comme ils le feront ensuite au cours des deux guerres mondiales, les Britanniques systématisèrent l’interception et le décryptement des messages en créant, sous les ordres de Scovell, un corps d’éclaireurs chargé, en plus de la mission habituelle de guider l’armée, de porter les messages, d’intercepter ceux de l’ennemis et de les décrypter. Bien entendu, ces éclaireurs étaient choisis pour leur connaissance du français, de l’espagnol et de l’anglais, en plus de leurs qualités proprement militaires. En ce qui concerne l’interception, les éclaireurs de Scovell furent aidés par la guérilla qui rendit les routes peu sûres pour l’armée française, si elle ne se déplaçait pas en nombre. Les petits chiffres pouvaient être de simples substitutions alphabétiques.

Un exemple lors de la campagne d’Allemagne en 1813

Les dépêches de la Grande Armée étaient envoyées en plusieurs exemplaires. L’ennemi récupérait souvent plusieurs exemplaires du même message ce qui aurait pu ne pas être grave s’ils avaient tous étaient chiffrés de façon identique. La reproduction se faisait apparemment à partir de l’original non chiffré ce qui donne, par exemple, ces deux exemplaires chiffrés différemment de la même dépêche du Maréchal Berthier en septembre 1813, un mois avant la bataille de Leipzig.

Dépêche chiffrée

Péterswald, ce 17 septembre 1813,

Monsieur le Maréchal,

L’empereur ordonne que 175. 138. 167. 164. 90. 138. 167. 152. 169. 145. 53. 166. 117. 137. 103. 157. 176. 152. 167. 134. 37. 37. 117. 174. 169. 106. 171. 15. 117. 15. 132. 6. 175. 176. 126. 48. 164. 153. 126. 32. 50. 175. 176. 126. 25. 68. 94. 105. 122. 171. 115. 176. 15. 164. 118.169. 166. 35. 138. 169. 81. 136. 20. 173. 138. 53. 171. 107. 87. 82. 131.. 15. 52. 134. 81. 94. 137. 90. 138. 169. 106. 51. 169. 116. 168. 115. 175. 176. 126. 137. 148. 115. 6. 119. 156. 90. 3. 176. 177. 146. 146.52.169. 82. 131. 169. 107. 92. 126. 52. 167. 23. 53. 35. 138. 6. 61. 167. 52. 106. 171. 39. 53. 50. 52. 6. 72. 167. 177. 169. 117. 167. 137. 22. 145. 171. 115. 167.68.154. 107. 94. 138. 164. 126. 115. 176. 16. 115. 167. 20. 176. 131. 67. 126. 6. 145. 175. 138. 167. 126. 115. 23. 126. 68. 23. 159. 92. 53. 93. 81. 94. 137. 22. 6. 90. 35. 138. 169.81. 174. 169. 119.53. 115.15.

Le Prince Vice-Connétable, Major Général,

Berthier

Dépêche partiellement chiffrée

Péterswald, ce 17 septembre 1813,

Monsieur le Maréchal,

L’empereur ordonne que vous vous portiez le plus tôt possible 167. 138. 169. 106. 171. 15. 117 avec son infanterie, sa cavalerie et son artillerie, en ne laissant 15. 164. 138. 169. 176. 166. 35. 138. 169. 81 que ce que Sa Majesté a désigné pour 106. 78. Son principal but sera de rester 107. 87. 176. 169. 53. 52. 167. 52. 35. 138. 6. 85. 82. 52. 106. 171. 171. 15. 117 et de chasser 117. 107. 156. 169. 145. 171. 115. 167. 68 qui manœuvrent dans 20. 176. 131. 75. Vous pouvez vous rendre en droite ligne 156. 169. 40. 35. 138. 169. 81. 167. 138. 169. 87. 53. 91.

Le Prince Vice-Connétable, Major Général,

Berthier

Conséquences

Grâce à cette maladresse, si les deux messages sont interceptés, l’ennemi peut commencer à les décrypter. Par exemple, la première phrase « L’empereur ordonne que vous vous portiez le plus tôt possible » appelle en suite « sur une ville ou un lieu. Il est vraisemblable que 167 signifie S, 138, U et 169, R. De même, « en ne laissant » appelle « à » donc 15 signifie probablement A. En reportant ceci dans le texte, on découvre à la fin de la dépêche :

« Vous pouvez vous rendre en droite ligne 169. R. 40. 35. UR. 81. S U R 87. 53. A. » ce qui signifie vraisemblablement : Vous pouvez vous rendre en droite ligne par telle ville (40. 35. UR. 81.) sur telle autre (87. 53. A). Le nom de la première ville, qui est allemande, finit sans doute par « burg » donc 35 signifie B et 81, G.

La partie entièrement chiffrée commence alors à se dévoiler. Par exemple, le « vous vous » a été chiffré en 175. U. S. 164. 90. U. S. donc 175 signifie VO, 164, V et 90, O. Ces équivalences permettent de progresser au point que l’avant dernière ville se dévoile, il s’agit de Coburg. Une carte d’Allemagne nous permet alors de penser que la dernière ville, dont le nom finit par A, est Iéna. En continuant ainsi, on finit par découvrir la dépêche de Berthier :

L’empereur ordonne que vous vous portiez le plus tôt possible sur la Saale, avec son infanterie, sa cavalerie et son artillerie, en ne laissant à Wurtzburg que ce que sa Majesté a désigné pour la garnison. Son principal but sera de rester maître des débouchés de la Saale et de chasser les partisans ennemis qui manœuvrent dans cette direction. Vous pouvez vous rendre en droite ligne par Coburg sur Iéna.

Généralité de l’erreur

Cette erreur de chiffrer de deux façons différentes la même dépêche se retrouve à d’autres époques. Ainsi, la machine de Lorenz utilisée par les Allemands pour les dépêches entre le quartier général à Berlin et les armées fut décryptée suite à une erreur de procédure de ce type. Même si les méthodes ont changées, les leçons du passé restent valables.

 

Comment peut-on chiffrer avec une courbe ?

Vous avez peut-être entendu d’une méthode de cryptographie utilisant des courbes, des courbes elliptiques plus précisément. Mais comment peut-on chiffrer, c’est-à-dire transformer un message clair en un message caché, avec une courbe ?

Les courbes elliptiques

Les courbes en question sont les courbes elliptiques, c’est-à-dire des courbes d’équation y2 = x3 + a x + ba et b sont des nombres, par exemple y2 = x3 – 2 x + 1 ce qui peut se dessiner. On obtient la figure suivante.

La courbe est l’ensemble des points M de coordonnées x et y vérifiant l’équation ci-dessus, c’est-à-dire y2 = x3 – 2 x + 1.

Le rapport avec les ellipses, qui sont des cercles « aplatis » sur l’un de leur diamètre, est indirect puisqu’il concerne le calcul de leurs longueurs. Nous n’insisterons pas sur ce point car il n’a aucun rapport avec la cryptographie. L’intérêt est qu’on peut définir des opérations transformant les points de cette courbe en un autre. On s’approche de l’idée de chiffrement … sans encore l’avoir atteinte toutefois.

Loi de groupe sur une courbe elliptique

L’avantage des courbes elliptiques est qu’on peut y définir une loi. La figure suivante montre comment, à deux points P et Q de la courbe, on associe un point que l’on note P + Q.

Dans le cas général, on trace la droite PQ. Elle coupe la courbe en un point R, P + Q est le symétrique de R par rapport à l’axe des abscisses. Si P = Q, PQ est la tangente en P à la courbe. Pour que cette définition fonctionne dans tous les cas, nous devons adjoindre à la courbe un point à l’infini, que nous notons 0. Si PQ est verticale, P + Q = 0.

On montre que cette loi + a les propriétés habituelles de l’addition des nombres, soit l’associativité, la commutativité, l’existence d’un point neutre (le point à l’infini) et d’un symétrique pour tout point (le symétrique par rapport à l’axe des abscisses justement).

Remarque : on trouvera les détails des calculs sur mon site : ici

Chiffrement

Pour chiffrer, on ne considère pas les courbes elliptiques sur le corps des nombres réels mais sur un corps fini comme Z / N où N est un nombre premier. La courbe a alors un nombre fini de points. L’idée de départ est qu’un texte peut être transformé en une suite de points de la courbe. Cela revient à écrire dans un alphabet ayant autant de signes que la courbe a de points. Notons que le problème sous-jacent n’a rien de simple mais, théoriquement, le chiffrement consiste alors à transformer un point de la courbe. La clef secrète est constituée d’un point P de la courbe et d’un nombre entier, comme 3 par exemple. On calcule ensuite P ’ = 3 P. La clef publique est alors le couple de points (P, P ’). Pour crypter un point M, le chiffreur choisit un entier, 23 par exemple, et transmet le couple (U, V) défini par : U = 23 P et V = M + 23 P ’. La connaissance du premier nombre, ici 3, suffit pour retrouver M car M = V – 3 U.

Logarithme discret

Pour retrouver le nombre choisi, 3 dans notre exemple, connaissant P et P ’, il suffit de savoir résoudre l’équation : P ’ = 3 P. L’utilisation du verbe « suffir » ne doit pas tromper. Cela ne signifie absolument pas que cela soit facile mais que, si vous savez le faire, vous savez décrypter. Le nombre 3 est alors appelé un logarithme discret ce qui n’est guère intuitif si on utilise la notation additive ci-dessus. Avec une notation multiplicative de l’opération de groupe, cela devient plus habituel puisque l’équation s’écrit alors : P ’ = P3. Dans l’ensemble des nombres usuels, 3 correspondrait au logarithme de base P de P ’ d’où le nom dans le cadre d’un groupe fini. À l’heure actuelle, ce problème est considéré comme très difficile. On estime qu’une clef de 200 bits pour les courbes elliptiques est plus sûre qu’une clef de 1024 bits pour la méthode R.S.A. Comme les calculs sur les courbes elliptiques ne sont pas compliqués à réaliser, c’est un gros avantage pour les cartes à puces où on dispose de peu de puissance, et où la taille de la clef influe beaucoup sur les performances. Les inconvénients sont de deux ordres. D’une part, la théorie des fonctions elliptiques est complexe et relativement récente. Il n’est pas exclu que l’on puisse contourner le problème du logarithme discret. D’autre part, la technologie de cryptographie par courbe elliptique a fait l’objet du dépôt de nombreux brevets à travers le monde. Cela pourrait rendre son utilisation coûteuse !

L’hypothèse de Riemann au salar d’Uyuni

Le salar d’Uyuni est un gigantesque désert de sel sur les hauts plateaux boliviens. On y trouve un cimetière de locomotives offrant plusieurs nuances de rouilles du meilleur effet photographique.

Locomotive rouillant sur le salar d’Uyuni

Un tag étonnant

Une grande partie de ce matériel ferroviaire à l’abandon est tagué. Une inscription nous a tout de même étonné par sa composante mathématique.

L’hypothèse de Riemann taguée sur une locomotive rouillant dans le salar d’Uyuni

Le tag affirme que les zéros non triviaux (i.e. entiers négatifs pairs) de la fonction dzéta de Riemann sont complexes de partie réelle égale à 1/2. Il s’agit d’une conjecture faite par Bernhard Riemann en 1859 et aujourd’hui dotée d’un prix d’un million de dollars par l’institut Clay. Rencontre étonnante !

 

Les vols d’étourneaux

Les étourneaux, et d’autres oiseaux se comportent souvent comme une unité filant parfois dans une direction précise pour s’en détourner soudain. Les mouvements des bancs de poisson sont similaires. D’où viennent ces comportements ?

Un vol d’étourneaux

La défense contre les prédateurs

La raison essentielle de ces regroupements est la défense contre les prédateurs. Par exemple, quand les étourneaux sont effrayés, ils s’élèvent, se rassemblent et volent en formant la masse la plus compacte possible. Un rapace évite de fondre sur ce groupe de crainte de se blesser. Il cherche plutôt à sélectionner des retardataires ou des oiseaux affaiblis.

La nuée vire et tourne de telle sorte qu’il est difficile de prévoir ses mouvements, qui semblent aléatoires. De nos jours, les zoologistes sont persuadés que ce ballet ne doit rien à la présence d’un mystérieux chef d’orchestre ou à un esprit surnaturel du groupe. Dans les années 1980, Wayne Potts, professeur à l’université d’Utah, a filmé des nuées de bécasseaux pour s’apercevoir que n’importe quel individu pouvait initier un mouvement du groupe, qui se propageait ensuite très rapidement par ondes rayonnant autour de l’initiateur, et cela dans tous les sens. De plus, ces ondes se propagent bien plus rapidement que la vitesse de réaction normale d’un individu isolé peut le laisser penser. En revanche, les mouvements des oiseaux séparés du groupe ne l’influencent pas. Ils sont les cibles privilégiées des prédateurs, donc ne sont pas suivis. Cette règle a l’avantage d’accélérer la réponse du groupe à une attaque.

Un modèle mathématique

D’après l’étude de Wayne Potts, chaque oiseau réagit à ce qui l’entoure, et uniquement à cela. Son comportement peut donc être modélisé : chacun ne réagit qu’à ses voisins. En 1986, un informaticien, Craig Reynolds, précisa des règles qui simulent le comportement des nuées d’oiseaux comme celui des bancs de poissons. Il a nommé « boids » ces oiseaux virtuels (un mot à faible distance linguistique de « birds »). On peut trouver des animations sur internet utilisant son modèle (chercher Boids avec votre moteur de recherche préféré). Les trois règles sont toutes de nature locale, chaque oiseau ne réagit qu’aux mouvements de ses voisins.

Séparation

Si un oiseau est trop proche de ses voisins, il s’en écarte pour éviter les collisions.

Alignement

Alignement dans la direction du vol des oiseaux qui l’entourent.

Cohésion

Cohésion pour aller vers la position moyenne des oiseaux qui l’entourent.

Si vous voulez programmer une simulation de vol d’étourneaux, il vous reste à définir plusieurs paramètres : rayon du cercle de voisinage (en gris clair sur les figures), vitesses, accélération utilisée pour rejoindre la position idéale définie par les trois règles. Ces principes ont été utilisés pour la première fois dans Le retour de Batman en 1992, pour générer des vols de chauves-souris.

Le modèle peut être amélioré en limitant le voisinage à un secteur de cercle, correspondant à la vision de l’oiseau, à la considération d’obstacles que l’oiseau évitera et également aux prédateurs éventuels.

 

L’énigme du tunnel de Samos

Dans l’île grecque de Samos, on peut visiter un tunnel qui, selon Hérodote, fut creusé au VIe siècle avant notre ère, simultanément par ses deux extrémités … et l’erreur au point de rencontre ne fut que de 60 centimètres, comme le tracé du tunnel l’atteste toujours. On ne sait pas comment son architecte, Eupalinos, en fit les plans, mais on sait qu’ils ne doivent rien au hasard. La plupart des historiens qui se sont penchés sur la question en on déduit qu’Eupalinos avait anticipé les instruments et les mathématiques inventés plusieurs siècles après sa mort. Est-ce vraisemblable ? Pourquoi les aurait-on oubliés ensuite ? De plus, pourquoi faire des hypothèses inutiles ? Il est plus raisonnable d’essayer d’imaginer des méthodes compatibles avec les mathématiques et les instruments connus de l’époque.

Un aqueduc extérieur imaginaire …

De la source captée jusqu’à l’entrée du tunnel, l’eau suit des conduites extérieures, quoique enterrées. On peut imaginer que, dans un premier temps, l’aqueduc allait ainsi jusqu’à la sortie du tunnel en suivant grossièrement les lignes de niveaux du terrain. La topographie le permet comme le montre la carte du lieu.

Les lignes de niveaux aux alentours du tunnel de Samos (entrée en A, sortie en B) montrent qu’il est possible de contourner la montagne par l’ouest (voir l’orientation sur le dessin) en restant à niveau (ligne ACB). Le trajet fait alors environ 2200 mètres (le double du trajet direct AB).

…qui aide à trouver la sortie

Cette hypothèse est difficile à soutenir car aucun vestige d’un tel ouvrage ne nous est parvenu. De plus, le tunnel est quasiment horizontal, seul le canal qui le longe a une déclivité de six mètres sur un peu plus d’un kilomètre. Cette hypothèse d’un aqueduc extérieur donne cependant une première approche du problème, naturelle pour un constructeur d’aqueduc. Pour déterminer l’entrée et la sortie, il s’agit de se déplacer à l’horizontale au flanc de la montagne, pour rejoindre un point duquel l’aqueduc peut continuer. Des preuves archéologiques montrent que les Samiens disposaient d’instruments pour déterminer l’horizontale. Le principe en est simple. Il s’agissait de longues gouttières en terre cuite dans lesquelles on versait de l’eau. L’horizontale était obtenue quand l’eau ne s’écoulait pas. De même, ils utilisaient des fils à plomb, ce qui permettait de déterminer la verticale. On peut imaginer suivre l’horizontale ainsi en plantant des pieux dont les sommets restent au même niveau. Si le niveau mesure 2 mètres de long, et que l’incertitude est inférieure à 1 millimètre pour chaque pieu, nous obtenons une incertitude totale de 1,10 mètres. L’erreur effective à la jonction des deux branches du tunnel étant de 60 centimètres, l’utilisation de cette méthode est vraisemblable. Cependant, elle exige de planter 1100 pieux. On peut la simplifier de ce point de vue en utilisant des visées oculaires permettant d’espacer les pieux.

Pour cela, on plante deux pieux à 10 mètres l’un de l’autre, dont les sommets sont à l’horizontale et on les aligne avec un pieu à cent mètres environ, tenu par un assistant. Ceci permet de passer à un total d’une cinquantaine de pieux (deux tous les 100 mètres environ).

Visée pour maintenir l’horizontale. Les pieux A et B sont alignés grâce à un niveau à eau. Si l’erreur entre les deux est limitée à 2 millimètres, celle entre A et C sera limitée à 2 centimètres. La capacité de l’œil humain rend insensible l’erreur due à l’acuité visuelle.

L’œil humain a une capacité de résolution de 0,5 minute environ (1 / 120 degré). Avec un viseur, sur cent mètres, nous pouvons espérer une incertitude inférieure à 2 centimètres. Sur une distance de 2 200 mètres, cela donne une incertitude totale de 44 centimètres, ce qui est compatible avec l’erreur effective de 60 centimètres.

La direction de la sortie

La deuxième extrémité trouvée, comment déterminer la direction dans laquelle le tunnel doit être percé ? Une idée simple tient à la topographie du terrain. Il s’en faut de peu que l’on ne puisse voir les deux extrémités du tunnel du haut de l’Acropole. Dans ce cas, il aurait suffi d’y disposer trois pieux alignés et, par approximations successives de les aligner à des pieux plantés aux extrémités du tunnel à construire. L’opération est semblable à la précédente, sans mise à niveau.

Si le sommet S est visible des extrémités A et B, il suffit d’aligner cinq pieux, trois en S, un en A et un en B pour déterminer la direction AB. Cette opération peut être faite par essais successifs.

En fait, la topographie du terrain ne permet pas cette solution. On peut malgré tout l’appliquer, soit en surélevant le sommet au moyen d’une tour de dix mètres environ, soit en plantant des pieux intermédiaires. Une station supplémentaire, éventuellement légèrement surélevée, suffit pour réaliser un alignement visible de proche en proche.

En disposant des relais (comme I) entre les extrémités A et B et le sommet, il est possible de réaliser un alignement de pieux entre A et B. On vérifie cet alignement comme précédemment, de proche en proche.

Ceci fait, les deux pieux à chaque extrémité donnent la direction à suivre. Il est facile de la conserver ensuite. Cependant, pour être sûr de se rencontrer, le mieux est d’obliquer légèrement un peu avant le milieu des travaux car, dans un plan, deux droites non parallèles se rencontrent toujours. L’une des branches du tunnel effectivement construit par Eupalinos présente des portions en zigzag montrant qu’il n’était pas certain de ses mesures et voulait éviter de manquer le deuxième tronçon qui, lui, reste rectiligne.

Le problème de la longueur du tunnel est accessoire. Même s’il est utile de la connaître pour savoir quand obliquer pour être sûr de la rencontre, il suffit d’en avoir une approximation grossière. Une fois le tunnel construit, on peut la calculer de façon plus précise et en déduire la pente à donner au canal. Finalement, sa profondeur varie de 3 à 9 mètres pour assurer un flux constant.

De l’utilité d’une mauvaise orthographe pour chiffrer

Une bonne orthographe peut perdre l’apprenti chiffreur car elle facilite la recherche de mots probables. Ainsi, écrire « pitèn » au lieu de « capitaine » peut servir à la dissimulation…

Le tueur du zodiaque

Un tueur en série, qui sévit en Californie à la fin des années soixante et début des années soixante-dix, nargua la police avec des messages chiffrés de façon a priori simple. Tout porte à penser qu’il est mort depuis puisque ses crimes et ses revendications cessèrent, mais rien ne le prouve. Nous ne nous intéresserons pas à cet aspect ici mais aux quelques messages chiffrés qu’il envoya à la police et à la presse dont le suivant.

Décryptement

L’un d’entre eux fut décrypté par un enseignant et son épouse, Donald et Betty Harden. Leur idée fut de rentrer dans la psychologie d’un tueur en série qui, selon eux, a un égo surdéveloppé… ainsi le message devait commencer par la lettre « I » qui, en anglais, signifie « je ». Ensuite, ils ont cherché « kill » et « killing » qui correspondent au verbe « tuer ». Le code s’écroula ensuite petit à petit. Pour tromper les décrypteurs, le tueur avait de plus fait de nombreuses fautes d’orthographe. Voici le message décrypté :

I LIKE KILLING PEOPLE BECAUSE IT IS SO MUCH FUN IT IS MORE FUN THAN KILLING WILD GAME IN THE FORREST BECAUSE MAN IS THE MOST DANGEROUS ANAMAL OF ALL TO KILL SOMETHING GIVES ME THE MOST THRILLING EXPERENCE IT IS EVEN BETTER THAN GETTING YOUR ROCKS OFF WITH A GIRL THE BEST PART OF IT IS THAT WHEN I DIE I WILL BE REBORN IN PARADICE AND ALL THE I HAVE KILLED WILL BECOME MY SLAVES I WILL NOT GIVE YOU MY NAME BECAUSE YOU WILL TRY TO SLOI DOWN OR STOP MY COLLECTING OF SLAVES FOR MY AFTERLIFE EBEORIETEMETHHPITI

Nous pouvons le traduire ainsi : « J’aime tuer les gens parce que c’est du plaisir, plus que de tuer du gibier dans la forêt, parce que l’homme est l’animal le plus dangereux de tous à tuer. C’est excitant, même plus que d’avoir du bon temps avec une fille. Le mieux sera quand je mourrai. Je renaîtrai au paradis et tous ceux que j’ai tués deviendront mes esclaves. Je ne donnerai pas mon nom car vous essayeriez de ralentir ou de stopper ma récolte d’esclaves pour mon au-delà. Ebeorietemethhpiti. »

Malheureusement, malgré ce qu’il avait annoncé à la police, sa signature restait incompréhensible. Il annonçait d’ailleurs lui-même pourquoi il ne donnait pas son nom.

 

 

Saint Urlo, saint patron des cryptologues ?

Traditionnellement, chaque groupe, professionnel ou autre, a son saint patron. Ce saint a en général un lien avec le groupe en question.

Gabriel, saint patron des transmetteurs

L’annonce faite à Marie par Gabriel.

Par exemple, le saint patron des transmetteurs de l’armée est très logiquement l’archange Gabriel, celui qui annonce les bonnes nouvelles comme celle faite à Marie dans les Évangiles. La fête des transmetteurs est donc le 29 septembre, le jour de la saint Gabriel. Le saint patron du renseignement militaire est un autre archange, Raphaël, fêté le même jour comme tous les archanges. La relation de ce saint avec le renseignement est mystérieuse. Saint Simon nous aurait semblé plus approprié, lui qui fut qualifié d’espion sagace et fantasque de Versailles et des coulisses du pouvoir au temps de Louis XIV par l’académicien Yves Coirault (1919 – 2001). Même si nous penchons nettement en faveur du choix de saint Simon, comme saint patron des espions, nous respectons la tradition qui lui préfère Raphaël.

L’évidence de Saint Urlo

En ce qui concerne les cryptologues, d’après leur proximité avec les transmissions et le renseignement, ils peuvent se réclamer de Gabriel, de Raphaël et de saint Simon, mais ils préfèrent souvent reconnaître le patronage de saint Urlo. Pourquoi ? Toux ceux qui se sont déjà attaqués au décryptement de vieux grimoires écrits avec des alphabets chiffrés le savent. La lettre la plus fréquente en français est la lettre  e, ensuite viennent dans un ordre approximatif s, a, i, n, t, u, r, l, o.  Affirmer qu’Urlo est le saint patron des cryptologues est une bonne façon de se souvenir des lettres les plus fréquentes en français, pour appliquer l’analyse fréquentielle.

Un saint breton qui a sa chapelle

Chapelle de Saint Urlo à Lanvénégen (Morbihan)

Notre présentation d’Urlo peut faire penser qu’il s’agit d’un saint imaginaire. Pourtant un voyage dans le Morbihan, à Lanvévégen plus précisément, vous le fera découvrir. En effet, il s’agit d’un saint breton. L’orthographe de son nom varie de Gurloës à Ourlou en passant par Urlo. Au XIe siècle, Urlo fut le premier abbé de l’abbaye Sainte-Croix de Quimperlé. Il ne fut canonisé que difficilement car personne n’avait été témoin d’un seul miracle qu’il aurait réalisé. Pour nous, cela n’est qu’une preuve supplémentaire de son lien avec la cryptologie car les exploits des décrypteurs sont effectivement tenus secrets longtemps. La fête de saint Urlo est le 25 mars.

Et Marie Stuart perdit la tête à cause d’un mauvais chiffre …

Ayant été élevée à la cour de France à l’époque d’Henri II, Marie Stuart,qui fut reine d’Écosse et de France, utilisait un chiffre du type de ceux d’Henri II comme le suivant, qu’il avait avec Philibert Babou, ambassadeur à Rome.

Ce chiffre utilisé par Henri II est un chiffre par substitution offrant plusieurs équivalents pour chaque lettre, muni d’un nomenclateur pour les mots courants.

Les chiffres de Marie Stuart

Marie Stuart utilisait plusieurs chiffres, selon ses correspondants. L’examen de celui utilisé dans le complot de 1586, qui se trouve aux archives du Royaume-Uni, montre qu’il est bien du type précédent.

Le chiffre utilisé par Marie Stuart en 1586. On voit clairement qu’il est de même nature que celui de Henri II.

Autrement dit, le chiffre de Marie Stuart était du niveau de ceux des rois de son époque. Elle perdit pourtant la tête de l’avoir utilisé. Un chiffre faible est toujours pire que l’absence de chiffre. Son sort se noua alors qu’elle était prisonnière au château de Chartley au nord de l’Angleterre. Son seul contact avec le monde extérieur était sa correspondance, chiffrée par son secrétaire, Gilbert Curle. Elle la faisait sortir clandestinement, cachée dans des tonneaux de bière.

Espionnage de la correspondance de Marie

La principale faille dans ce scénario était la personne chargée de cette tâche, Gilbert Gifford, un agent double de Francis Walsingham (1530 – 1590), secrétaire d’Élisabeth Ie. Il lui transmit toutes les lettres de Marie, ce qui permit au cryptanalyste de Walsingham, Thomas Phelippes de les décrypter, en utilisant vraisemblablement la méthode du mot probable (c’est-à-dire rechercher la présence de mots qu’on estime probable dans une correspondance, en fonction du destinataire, par exemple « reine », « cousine », etc.). L’abondance des messages lui facilita sans doute la tâche.

Le complot et la manipulation de Walsingham

En 1586, son ancien page, Anthony Babington, qui faisait partie d’un complot contre la reine d’Angleterre, lui écrivit une longue lettre chiffrée où il lui décrivait les détails du complot et demandait son accord. La réponse de Marie scella son destin. Quand Thomas Phelippes l’eut décryptée, il ajouta une potence à la copie qu’il en fit ! Pour que Walsingham obtienne les noms de tous les complices, il ajouta un postscriptum à la lettre demandant les noms de tous les comploteurs. En plus d’être excellent cryptanalyste, Phelippes était un faussaire hors pair ! Ainsi, Babington livra lui-même ses complices. Tous furent exécutés avant le procès de Marie.

La cryptographie et le mouvement : d’un conflit à l’autre

Dès la Grande Guerre, les communications reposaient sur la radio et étaient donc quasi instantanées mais la cryptographie utilisée les ralentissait car elle reposait sur un travail manuel long et pénible. Elle correspondait à une guerre immobile, pas à une guerre de mouvement. Tous les chiffres de cette guerre était fondés sur un mélange de substitutions alphabétiques et de transpositions. De ce temps, le décryptement français était excellent si bien que les messages allemands furent décryptés quasiment tout au long de la guerre.

Le chiffre ADFGX

En 1918, le haut commandement allemand ayant compris que ses chiffres n’étaient guère secrets, décida d’en changer avant le jour de la grande offensive du printemps 1918, rendue possible par sa victoire sur la Russie, et nécessaire par l’arrivée des Américains. Pour une fois, la question fut prise au sérieux et une conférence sur le thème fut organisée à Berlin. Le prix fut remporté par un colonel au nom prédestiné, Fritz Nebel, même si le brouillard qu’il généra ne fut guère épais pour les décrypteurs français, dont l’excellent Georges Painvin. Pour éviter les confusions à la réception, le système de Nebel n’utilisait que cinq lettres, toutes très éloignées en code morse : A, D, F, G et X.

  • A · · D · · · F — — · G · · X

Les messages ne comportant  que ces cinq lettres explique le nom donné à ce chiffre par l’armée française. Ces cinq symboles firent penser à l’utilisation d’un carré de Polybe de côte 5, un carré où on dispose les 25 lettres de l’alphabet (en confondant le I et le J) et où les substitue ensuite par leurs coordonnées. Ce carré constitue la clef d’une substitution alphabétique, clef qui peut être retenue par une phrase.

Carré de Polybe utilisé par le système ADFGX. Ici, il a été construit à partir de la phrase « Geheimschrift der Funker »

Considérons par exemple le message « Attaquez demain à quatre heures ». Pour le chiffrer, nous chiffrons chaque lettre suivant le carré ci-dessus. Ainsi, A est codé FX (ligne et colonne de A dans le carré). Nous obtenons la suite :

FX DX DX FX GX FD AD XX FA AD AX FX AG FF FX GX FD FX DX DF AD AF AD FD DF AD DA

Surchiffrement par transposition

Ce message est alors surchiffré au moyen d’une transposition. Celle-ci est déterminée par un mot clef. Si celui-ci est « nébuleux », nous formons un tableau dont la première ligne est la clef (voir le tableau ci-dessous). La deuxième ligne donne l’ordre des lettres de la clef dans l’ordre alphabétique. Ensuite, nous copions les lettres du message précédent ligne par ligne. Nous complétons la dernière ligne par des nulles choisies arbitrairement parmi les lettres ADFGX.

Seconde étape du chiffrement après substitution mais avant permutation. Celle-ci est toutefois indiquée en seconde ligne.

Nous écrivons alors les colonnes dans l’ordre donné par la seconde ligne du tableau et groupons les lettres par cinq pour obtenir le message chiffré :

DFAFF AAXXA GDDFX DXXXD ADAAF DADFG FAFAD XDDFX FDFXF GDFGX XXXFD X

Attaques allemandes et décryptement de ADFGX

Le système ADFGX fut utilisé à partir du 5 mars 1918. Les messages allemands devinrent alors indécryptables pour les Français. Même s’il était évident que les Allemands allaient attaquer, l’état-major ne savait pas où, et l’offensive du 21 mars fut une surprise. Elle fut suivie par plusieurs offensives qui, progressivement, asséchaient les réserves françaises. Alors qu’au départ, elles étaient échelonnées à l’arrière dans tous les endroits probables d’attaques allemandes, il fallait maintenant choisir où les disposer. Heureusement, le 5 avril, Georges Painvin réussit à décrypter le système. La présence de cinq symboles faisait penser à un carré de Polybe, donc à une substitution suivie d’une transposition mais Georges Painvin avait besoin de la longueur de la seconde clef pour commencer le décryptement. Or, les Allemands étaient devenus méfiants, changeaient leurs clefs tous les jours et limitaient l’usage du nouveau système au niveau stratégique. Les tranchées communiquaient autrement. La chance arriva le 4 avril, quand Painvin reçut deux messages ayant de fortes similarités, qui lui permirent d’accéder à cette longueur (le lecteur intéressé trouvera les détails du décryptement dans mon livre l’univers des codes secrets de l’Antiquité à Internet).

Une « amélioration » catastrophique

Malgré cela, les Allemands réussirent plusieurs attaques par surprise. Paris n’était plus loin et les réserves françaises s’épuisaient. Le 1er juin, les Allemands changèrent à nouveau de code, ajoutant un V aux cinq autres lettres. Georges Painvin comprit immédiatement que le système n’avait pas réellement changé, que le carré de Polybe avait seulement maintenant un côté de six. En tout cela faisait 36 symboles. L’hypothèse naturelle était qu’ils chiffraient ainsi les 26 lettres de l’alphabet plus les dix chiffres. Cette apparente complication fit la perte des Allemands. En effet, ils commençaient leurs messages par leur adresse comme « 15e division d’infanterie » ou « 25e division d’infanterie ». En toutes lettres, cela donnait des messages commençant par « quinze » ou « vingt-cinq », qui différaient énormément. Avec le nouveau système, entre « 15 » et « 25 », seule la première lettre différait.

Deux messages ayant les particularités que nous venons d’étudier furent interceptés le 1er juin. Georges Painvin les décrypta dès le 2. Tous les messages du 1er furent alors décryptés et le lieu de la future offensive allemande se dévoila. Les réserves françaises furent placées exactement où il fallait et ce fut la victoire de Méry, qui changea le cours de la guerre en ce printemps 1918. Les Allemands ne purent plus prendre les Français par surprise, cela essentiellement grâce à un décrypteur de génie, Georges Painvin.

Seconde Guerre mondiale

La cryptographie de la Première Guerre mondiale était inadaptée à une guerre de mouvement, qui exige la rapidité des communications. C’est ainsi que, dès la fin de la Grande Guerre, des machines cryptographiques dont la célèbre Enigma virent le jour. La lutte contre cette machine fera l’objet d’autres articles sur ce blog.

Les suites qui se racontent et le jeu de Robinson

Les suites qui se racontent sont entrées un jour dans ma vie pour ne plus en sortir à travers une énigme mathématique que me posa un ami :

Si une suite commence par 0, 10, 1110, 3110, 132110, 13123110, quel est le nombre suivant ?

Ma réponse fût 23124110 (dans 0, je compte un 0 ce que j’écris 10 ; dans 10, je compte un 1, un 0 ce que j’écris 1110 ; dans 1110, je compte trois 1, un 0 ce qui donne 3110, etc.). En quelque sorte, chaque terme « raconte » le précédent.

L’énigme se transforme en suite … et en conjecture

J’aurais pu m’arrêter là mais, allez savoir pourquoi, je continuais : 1413223110, 1423224110, 2413323110, 1433223110, 1433223110. La suite est donc constante à partir de ce terme. Le résultat me sembla surprenant, c’est pourquoi j’essayais d’autres valeurs initiales. J’avais beau examiner un grand nombre de valeurs, je trouvais toujours une suite périodique, la période étant 1, 2 ou 3. Très vite convaincu de ce résultat, je tentais de prouver ce qui était devenu une conjecture. Après plusieurs mois de recherche, je trouvais 109 points fixes, 31 cycles de période deux et 10 cycles de période trois (voir plus loin leur liste exhaustive). 

Puis la conjecture en théorème

Pour trouver tous les cycles des suites qui se racontent, on peut utiliser un ordinateur à condition de réduire d’abord le nombre de cas à essayer. Il est également possible de faire un raisonnement analytique classique. Pour ceux que le sujet intéresse, j’ai raconté cette quête de la preuve dans :

Hervé Lehning, « Computer-aided or analytic proof? », College Mathematics Journal, vol. 21, no 3,‎ 1990, p. 228-239

Hervé Lehning, « Quelle est la meilleure preuve ? », Quadrature, n° 11, 1992 (Ce dernier article est illustré Par Charb.)

Page de l’article avec l’illustration de Charb

Le jeu de Robinson

Quand j’ai proposé mon article, on me fit remarquer que je résolvais sans le savoir une conjecture de Douglas Hofstadter (parue dans Ma Thémagie) liée à un jeu inventé dans les années soixante-dix par Raphaël Robinson (1911 – 1995), un mathématicien américain. Le but est de remplir les blancs de la phrase suivante afin qu’elle devienne vraie :

Dans cette phrase, il y a __ 0, __ 1, __ 2, __ 3, __ 4, __ 5, __ 6, __ 7, __ 8, et __ 9

On remarque immédiatement que tout point fixe utilisant les dix chiffres d’une suite qui se raconte est solution, et réciproquement. En utilisant la liste des 109 points fixes, on trouve deux solutions :

Dans cette phrase, il y a 1 0, 11 1, 2 2, 1 3, 1 4, 1 5, 1 6, 1 7, 1 8, et 1 9.

Dans cette phrase, il y a 1 0, 7 1, 3 2, 2 3, 1 4, 1 5, 1 6, 2 7, 1 8, et 1 9.

Les autres points fixes fournissent des solutions à un jeu de Robinson légèrement modifié où certains chiffres peuvent être supprimés. Par exemple :

Dans cette phrase, il y a 3 1, 2 2, 3 3, 1 4 et 1 5.

Suppléments : cycles des suites qui se racontent

Pour en simplifier la lecture, je noterai <n> le fait que n chiffres, choisis arbitrairement parmi les chiffres possibles, soient précédés d’un 1.

Liste des points fixes

1 9 / 1 8 / 1 7 / 1 6 / 1 5 / 1 4 / 1 3 / 2 2 / 11 1 / 1 0 et

1 9 / 1 8 / 2 7 / 1 6 / 1 5 / 2 3 / 3 2 / 7 1 / 1 0 ce qui fait 2 points fixes,

11 1 / <8> ce qui fait 9 points fixes, 2 6 / 2 3 / 3 2 / 6 1 / <5> ce qui fait 6 points fixes, 2 5 / 2 3 / 3 2 / 5 1 / <4> ce qui fait 15 points fixes, 2 4 / 2 3 / 3 2 / 4 1 / <3> ce qui fait 20 points fixes, 3 3 / 2 2 / 3 1 / <2> ce qui fait 21 points fixes, 2 3 / 3 2 / 2 1 / <1> ce qui fait 7 points fixes, 3 3 / 3 1 / <2> ce qui fait 28 points fixes, 2 2 ce qui fait 1 point fixe, d’où un total de 109 points fixes.

Liste des cycles de période deux

2 8 / 1 7 /  1 4 / 4 2 / 7 1 / <5>       1 8 / 2 7 / 2 4 / 2 2 / 8 1 / <5> ce qui fait 1 cycle, 

2 7 / 1 6 / 1 4 / 4 2 / 6 1 / <4>                   1 7 / 2 6 / 2 4 / 2 2 / 7 1 / <4> ce qui fait 5 cycles,

2 6 / 1 5 / 1 4 / 4 2 / 5 1 / <3>                   1 6 / 2 5 / 2 4 / 2 2 / 6 1 / <3> ce qui fait 10 cycles,

2 4 / 1 3 / 4 2 / 3 1 / <2>                 2 4 / 2 3 / 2 2 / 4 1 / <2> ce qui fait 15 cycles,

d’où un total de 31 cycles de période 2.

Liste des cycles de période trois

2 5 / 1 4 / 1 3 / 4 2 / 4 1 / <2>     1 5 / 3 4 / 1 3 / 2 2 / 5 1 / <2>      2 5 / 1 4 / 2 3 / 2 2 / 5 1/ <2>

ce qui fait 10 cycles de période 3.