Le code des luthiers et la loi de Benford

Les registres d’un grand luthier parisien du XIX° siècle, Gand & Bernardel, se trouvant de nos jours au musée de la musique, montrent d’étonnantes parties chiffrées.

La ligne de registre ci-dessus concerne la vente d’un violon au prix de 8000 F. Dans la première partie figure le prix de 10000 F, sans doute le prix demandé par le luthier avant négociation. Entre parenthèses après ce prix figure quatre lettres : (exzx) puis ensuite ohxz. Le nombre de lettres incite à penser que l’un des deux représente le prix d’achat du luthier et l’autre le prix de réserve en dessous duquel il ne faut pas descendre. Ces indications ont alors un rôle évident : permettre la négociation du prix sans erreur de la prt du vendeur et sans donner le prix de réserve à l’acheteur. Il est alors logique de penser que le prix de réserve est entre parenthèses et que l’autre est le prix d’achat.

La loi de Benford

Le musée de la musique a demandé l’aide d’un cryptologue, en la personne de Pierrick Gaudry, pour casser le code utilisé. Pour ce faire, il a examiné les lettres se trouvant en tête des codes en pensant que, comme toutes données comptables, elle suivait la loi de Benford . Cette loi donne les fréquences d’apparition des chiffres en tête d’un nombre :

Chiffre 1 2 3 4 5 6 7 8 9
Fréquence en % 30 18 12 10 8 7 6 5 4

(voir une discussion de cette loi dans Toutes les mathématiques du monde, page386)

En utilisant les fréquences d’apparition des lettres dans les codes, on trouve que h représente 1 et a représente 2. Des tâtonnements  donnent le reste et la clef est lumineuse pour un marchand de violons puisqu’il s’agit du mot harmonieux :

h a r m o n i e u x
1 2 3 4 5 6 7 8 9 0

 

Dans les différents registres, on trouve également le code z. Des additions montrent qu’il vaut 0, comme x. Le fait de coder 0 de deux façons différentes s’expliquent car le 0 se trouve souvent dans les prix.

Ainsi, dans le cas de la ligne de registre citée plus haut, ohxz signifie 5100 F, ce qui correspond bien à un prix d’achat vraisemblable puisque le prix de vente final a été de 8000 F. Le prix de réserve exzx était de 8000 F aussi ce qui prouve que l’acheteur a bien négocié.

 

 

 

Une carte à Léa

Une carte postale adressée à une jeune fille nommée Léa chez ses parents le 27 janvier 1905 a de quoi surprendre car elle ne comporte que des  nombres séparés de points ou de tirets.

Transcription de la carte

Le texte est constitué de nombres entre 2 et 25, qui représentent sans doute des lettres de l’alphabet, séparés par des points et des tirets. Les tirets séparent probablement les mots entre eux. Nous le reproduisons ici en remplaçant les tirets par des espaces :

25.22     21.2.8.8.24     7.22.4.19.2.20.20.24     25.2.23       5.24   12.9.24   17.24   18.22.23   24.5.4.23.18 17.24   20.22.14.22.23.8 4.23.24.20   4.24.5.9   19.24.7.9.23.8   2  17.2.9.4.8     17.22.23 23.9 18.24.8   2   5.22.4.18.24.8     5.24   25.22.18.23.20   17.24 20.22.23     4.23.24.20   24.9   22     17.22.14.24     8.23     18.9 8.22.14.22.23.8     5.2.25.25.24     17.24     8.9.23.8 23.25.7.22.18.23.24.20.18     12.9.22.20.19       24.13.13.24.8 8.2.20.18     24.20     4.24.18.22.4.19     22.9     4.24.14.2.23.4 25.2.20     22.20.21.24     22.19.2.4.24     18.2.9.18     22   18.2.23

Analyse

On remarque rapidement que le numéro 24 est majoritaire. Il représente sans doute le E. Un mot à l’avant dernière ligne se trouve alors à moitié décrypté. Il s’agit de 24.13.13.24.8. Le numéro 13 répété entre deux E ne peut être qu’une consonne, plus précisément L. On en déduit que ce mot est « elles ». Le suivant est alors probablement « sont ». Le chiffre s’écroule alors progressivement. En particulier la formule de politesse est « tout à toi ». Finalement, on obtient le texte :

Ma gosse, pardonne-moi ce que je t’ai écrit, je n’avais rien reçu depuis 2 jours. J’ai eu tes 2 cartes ce matin. Je n’ai rien eu à ja*e. Si tu savais comme je suis impatient quand elles sont en retard. Au revoir mon ange. Tout à toi.

L’étoile dans le texte est sans doute une erreur de chiffrement.

Cours de crypto à Hanoï

Souvenir d’un séjour à Hanoï où j’ai enseigné l’art du décryptement à quelques étudiants et beaucoup appris sur les services du chiffre du Viêt-Minh pendant la guerre d’Indochine (1946-1954) puis du Viêt-Cong pendant la guerre du Vietnam (1955-1975))

Erreurs cryptographiques des deux camps

Au début de la première guerre d’Indochine, le Viêt Minh utilisa un chiffre de Vigenère, c’est-à-dire une substitution alphabétique à décalage variable dépendant d’une clef (qui est un mot). Par exemple, avec la clef abc, il consiste à ne pas décaler la première lettre du message, décaler d’un cran la seconde de deux crans la seconde et ainsi de suite si bien que “chiffrer” se chiffre en “cikfgtes”.

Le Viêt-Minh appliquait cette méthode de façon particulièrement erronée : la clef, toujours de longueur cinq, était accolée en tête du message ce qui contrevenait lourdement au principe de Kerckhoffs selon lequel la solidité d’un chiffre ne devait pas dépendre du secret de la méthode mais seulement de celui de sa clef.

Document vietnamien montrant un message envoyé avec sa clef TINHA en tête !

Malgré cette faiblesse du chiffre vietnamien, le conflit cryptographique avec l’armée française, déséquilibré au temps de la reconquête en 1946, quand les meilleurs cryptologues de l’armée étaient sur place, fut plutôt équilibré de ce point de vue ensuite. L’armée était pourtant sensée disposer de machines à chiffrer de la Seconde Guerre mondiale comme la C-36 au niveau tactique et la B-211 au niveau stratégique qui auraient dû être indécryptables par le Viêt Minh. Cependant, d’après les archives vietnamiennes, bien des messages français étaient envoyés chiffrés par un Vigenère doté d’une clef trop courte, ou juste camouflés voire même en clair. Les techniques de camouflage consistaient ici à remplacer quelques termes, comme « convoi » ou « tank » par d’autres d’apparence anodine comme « omelette » ou « œufs brouillés ». Cette méthode n’a guère d’espoir de permettre de garder le secret d’un grand nombre de messages. L’ennemi aura vite compris ce que recouvrent ces termes étranges dans un contexte militaire.

Persistance des erreurs

Lors de la guerre du Vietnam qui suivit la défaite française, les Américains ne firent guère mieux et en vinrent aussi à des méthodes de camouflage, persuadés que le Viêt Cong ne serait jamais capable de comprendre leur jargon en temps réel. La NSA (National Security Agency) avait pourtant conçu Nestor, un système chiffrant la voix de bonne qualité … mais qui avait au moins deux défauts : son élément (KY-38) réservé à l’infanterie était lourd (24,5 kg) et, de plus, Nestor ne supportait pas la chaleur humide des forêts tropicales du sud Viêt Nam. De nombreuses unités préféraient emporter plus de munitions plutôt que cet engin peu fiable et lourd. Ceci explique l’absence de chiffrement sérieux et l’équilibre des forces entre le petit Viêt Cong et le géant américain dans la bataille des ondes.

Soldat américain portant une KY-38, partie “portable” su système Nestor.

 

Le TVI à la Grande Ruine

Pour monter sur un sommet à 3712 mètres d’altitude, comme la Grande Ruine dans le massif de Ecrins (image mise en avant @Hervé Lehning), en partant d’un refuge situé à 3169 mètres d’altitude (le refuge Adèle Planchard), il est nécessaire de passer par toutes les altitudes intermédiaires.

Quelque soit la voie prise pour monter au sommet, nous passerons au moins une fois à chaque altitude entre le point de départ et celui d’arrivée. La photo représente un sommet proche de l’Everest, dans l’Himalaya. @Hervé Lehning

Le Théorème des Valeurs Intermédiaires (ou TVI)

Ce résultat de bon sens correspond à un théorème de mathématiques concernant les fonctions continues sur un intervalle réel à valeurs réelles. La plupart des fonctions qu’on rencontre en mathématiques sont continues sauf, éventuellement, en quelques points exceptionnels, appelés pour cela points de discontinuité. Physiquement, dans la pratique, ces points correspondent souvent à des sauts.

Exemple de discontinuité : en un point x, les limites à droite et à gauche  diffèrent de la valeur en x. Dans ce cas, la fonction présente un saut en x.

Le théorème des valeurs intermédiaires peut s’illustrer ainsi :

Si f est une fonction continue sur [a, b] et m est une valeur entre f (a) et f (b), il existe x tel que f (x) = m.
Ce théorème est donc un théorème existentiel: il affirme l’existence d’un nombre sans permettre pour autant de le calculer.

Utilité

L’utilité pratique  essentielle de ce théorème est de montrer l’existence de racines d’équations : si une fonction continue change de signe entre deux points a et b, elle s’annule entre ces deux points.

On en déduit, par exemple, qu’une fonction continue sur un segment [a, b] à valeurs dans lui-même admet au moins un point fixe, c’est-à-dire un point x tel que f (x) = x. Pour le démontrer, il suffit de remarquer que la fonction g définie par (x) = f  (x)  –  x change de signe entre a et b.