Article 2 · Write-up technique

Casser le Wenmi : de la structure des lettres à deux clés sans paramètre

Comment on passe de « fazihipego wezelucuna » à « 報傳取消日人態度遽變 » : la transcription, trente séances de calcul dont la plupart négatives, un test statistique simple qui change tout, et deux clés qui tiennent chacune en une ligne.

Les passages soulignés en pointillé sont des hypothèses non confirmées.

Bureau télégraphique japonais, évocation de 1916. Les formulaires Wenmi réels portent des mots chiffrés en lettres latines (voir le scan en page d’accueil).
Bureau télégraphique japonais, évocation de 1916. Les formulaires Wenmi réels portent des mots chiffrés en lettres latines (voir le scan en page d’accueil). Illustration de reconstitution générée par IA.

Des mots en lettres latines, mais pas le même chiffre

Le code télégraphique public est une étape de codage, pas un secret. Le Wenmi de 1916 relève de la conversion en syllabes, avec deux grilles particulières.

  1. Rosamonde · 1915–1916

    AnglaisSubstitution réciproque des lettres

    you ↔ hea

    Une lettre remplace une lettre ; la même table sert dans les deux sens.

  2. Code télégraphique chinois

    Caractère chinoisRépertoire public à quatre chiffres

    文 → 2429

    Ce répertoire est public : il ne suffit pas, à lui seul, à cacher le texte.

  3. Condensateurs · plusieurs tables

    Code chinois à quatre chiffresDeux paires de chiffres → syllabes

    00–99 → CV

    La table dépend du système employé. CV désigne une consonne et une voyelle.

  4. Wenmi 1916 · G0 / Y0

    Code chinois à quatre chiffresDeux grilles de syllabes distinctes

    報 → 1032 → fa | zi

    Exemple G0 uniquement. Y0 emploie une autre grille : les tables ne sont pas interchangeables.

En bref : le système

Le déchiffrement en 35 secondes : du formulaire japonais au texte chinois, avec la correction de la seule lettre fausse. Animation générée par code ; sous-titres dans les cinq langues.

Les deux canaux de 1916 se chiffrent en cinq opérations, sans aucune clé secrète au sens moderne. Exemple sur le canal Tokyo → Zhaoqing (juin–septembre 1916) :

Texte chinois報
Code télégraphique public1032
Coupé en deux moitiés10 | 32
Chaque moitié → une syllabe (grille G0)fa | zi
Syllabes enchaînées, mots de 10 lettresfazihipego

La grille G0 attribue à chaque nombre de 00 à 99 une syllabe consonne + voyelle. Les consonnes sont prises dans l'ordre alphabétique inversé en partant de h (h g f d c b z y x w v t s r q p n m l k), deux par dizaine ; les voyelles a e i o u codent l'unité, en montant pour la première consonne de la dizaine et en descendant pour la seconde (un parcours « en serpentin ») :

Ainsi ha = 00, hu = 04, gu = 05, ga = 09, fa = 10… ka = 99. En Python :

ORDER, V = "hgfdcbzyxwvtsrqpnmlk", "aeiou"
G0 = {c + v: 10 * (i // 2) + (j if i % 2 == 0 else 9 - j)
      for i, c in enumerate(ORDER) for j, v in enumerate(V)}

def decode(letters):          # "fazihipego..." -> ["1032", "0278", ...]
    s = [letters[k:k+2] for k in range(0, len(letters), 2)]
    return ["%02d%02d" % (G0[a], G0[b]) for a, b in zip(s[::2], s[1::2])]

Chaque message se termine par la signature 伸 (heyu = 0135), parfois 伸令, puis le jour du mois, écrit soit en rime 韻目代日 (巧 18, 漾 23, 元 13…), soit en chiffre chinois (卅 30).

Essayez

Choisissez un télégramme, puis cliquez sur un caractère ou lancez la lecture pas à pas : les deux syllabes s'allument dans le texte chiffré et dans la grille de la clé, affichée sous le message. Les deux canaux sont disponibles (G0, puis Y0). Les caractères en pointillé orange sont douteux (lecture du formulaire incertaine ou caractère rare).

Chaque case : syllabes · code télégraphique · caractère.

Point de départ : les travaux publiés

Point de départ : l'article « Sun Yat-sen's circle on the wire, 1916–17 »[1] et le dépôt dbourdeau/cyphersolver[2], qui publient les transcriptions des formulaires et le déchiffrement d'une soixantaine de télégrammes du cercle de Sun Yat-sen. Ces télégrammes emploient des tables de « condensateur » de la lignée de celles de Yamada Junzaburō, publiées par S. Tomokiyo sur Cryptiana[8] : 20 consonnes et 5 voyelles, soit 100 syllabes, une par nombre de 00 à 99.

Les télégrammes chiffrés de Zhao Shen s'en distinguent : mots de dix lettres, aucun additif apparent ; ils y figuraient parmi les problèmes ouverts[1]. Ceux du canal du Conseil des affaires militaires commencent en général par le préfixe en clair 2429 1378, qui se lit 文密 : c'est le nom de ce chiffre. Ses télégrammes au Yunnan, de même construction mais à six voyelles, commencent par l'indicateur « Cg ». Nous sommes partis des pièces identifiées et des transcriptions, et de l'idée qu'un demi-code télégraphique devient une syllabe. La suite montre que, pour le canal du Conseil, la table suit une règle simple : alphabet inversé, deux consonnes par dizaine, voyelles en serpentin.

Les règles du jeu

Un déchiffrement historique est un terrain idéal pour se tromper soi-même : avec assez de paramètres, on « lit » du chinois dans n'importe quel bruit. Nous avons donc travaillé sous des règles fixées à l'avance et consignées dans un journal tenu en ajout seul (près de 1 400 lignes, 31 séances) :

Étape 1 — Lire ce que l'employé a écrit

Du formulaire au sens : un exemple réel

Rosamonde, Shanghai → Tokyo, 7 juillet 1915. Cet exemple emploie la substitution anglaise, pas la grille G0 du Wenmi.

  1. 1 · Le document

    Copie japonaise conservée par JACAR : B03050087700, image 50. Cliquer pour agrandir.

    Copie japonaise conservée par JACAR : B03050087700, image 50. Cliquer pour agrandir.

  2. 2 · Transcrire le groupe

    gowoisrjat
  3. 3 · Appliquer la table

    g o w o i s r j a t
    ↕
    b e m e r c i f u l
  4. 4 · Séparer les mots et traduire

    be merciful

    « Sois clément. »

Le chiffré n'existe que sous la forme de copies manuscrites par des employés japonais. Les lettres g et q, x et d, u et n s'y confondent facilement ; une seule lettre fausse change un caractère, une lettre sautée décale tout le reste du message.

Un détail de lecture s'est révélé décisif : longtemps, q a été considéré comme une variante graphique de g. La lecture humaine les a séparés, ce qui donne un alphabet d'exactement 20 consonnes (b c d f g h k l m n p q r s t v w x y z, sans j). Sur le meilleur modèle de l'époque, cette seule distinction a fait monter le score de 681 à 829.

Biais déclaré

Deux de mes lots de lecture (« lectures assistées », puis relecture de 16 codes douteux) n'étaient pas aveugles : je savais ce que le modèle proposait. Pour limiter le risque, les quatre dernières unités de chaque message (signature et date) ne pouvaient pas être modifiées ainsi, le message témoin 0406 n'a jamais été retouché, et chaque proposition devait être confirmée à l'image (18 acceptées, 27 rejetées).

Étape 2 — Ce qui n'a pas marché (et pourquoi)

Pendant trente séances, nous avons suivi l'approche classique d'une substitution inconnue :

Toutes ces recherches ont échoué, et les témoins disent pourquoi. Le solveur retrouvait les clés des textes positifs (par exemple 258 codes sur 267) : il était capable. Mais sur les archives, son meilleur score (≈ 900) restait loin de celui d'un vrai texte (1 200–1 350), tout en dépassant nettement les données mélangées (≈ 670). Un texte chiffré par un livre de code arbitraire donnait 810–940 : les archives ressemblaient à cela.

Deux erreurs se cachaient dans les hypothèses :

  1. De fausses ancres. Pour les jours 16 à 30, la convention des rimes emploie une autre série tonale que celle supposée au départ (vérifié dans des originaux de Sun publiés[11]). Plusieurs ancres étaient donc fausses.
  2. Un espace de clés trop grand. Une table libre de 100 cases offre assez de liberté pour fabriquer des optima de bruit autour de 900. L'essai inverse le confirme : en relâchant la structure finalement trouvée (expérience E21), l'ajustement monte, mais le message témoin devient illisible. C'est un surajustement.

Entre-temps, une piste documentaire a été suivie jusqu'au bout. Les rapports du consulat japonais de Hankou (9 et 11 mai 1916)[5][6] décrivent des surchiffrements « +111 » puis « inversion des quatre chiffres + 111 ». Les télégrammes d'avril joints aux rapports ont bien été décodés ainsi (retenue arithmétique, rime du jour en fin). Mais toutes les variantes ±111, avec ou sans inversion et avec le décalage résiduel que cela induit sous une table syllabique, sont négatives sur le flux de Tokyo (expériences E13, E15, E16). La conclusion a été tirée : aucune clé additive en juillet.

Étape 3 — Un test sans clé : la consonne code la dizaine

Le tournant est venu d'un test qui ne cherche aucune clé. Les codes télégraphiques ont une forme très particulière : le chiffre des milliers est concentré (les codes courants sont surtout entre 0000 et 7999, presque jamais 8xxx ou 9xxx), alors que les chiffres des unités sont à peu près uniformes. Si une moitié de code (deux chiffres) devient une syllabe, la question est : qu'est-ce qui, dans la syllabe, porte la dizaine ?

On compte donc les lettres selon leur rang dans le message (expérience S3). Aux rangs qui portent la première moitié du code (milliers et centaines), la distribution des consonnes est extrêmement déséquilibrée (z ≈ 22) : h et g dominent, l, p et m n'y apparaissent jamais. Les voyelles, elles, sont homogènes (z ≈ 1). Une simulation (S4) montre qu'une table aléatoire ne produit jamais ce motif (0 cas sur 400), alors qu'une table de coordonnées, où la consonne indique la dizaine et la voyelle l'unité, le reproduit.

Cette hypothèse (H9) divise l'espace de recherche de façon spectaculaire : il ne s'agit plus de placer 100 syllabes librement, mais d'affecter chaque consonne à une dizaine et chaque voyelle à un chiffre. Elle montrait aussi que certains jeux d'ancres de date étaient impossibles : sous H9, certaines rimes supposées exigeraient la même consonne pour deux dizaines.

Étape 4 — Un solveur contraint et un message témoin

Un nouveau solveur (anchor_coord) ne cherche que des tables de coordonnées. Sans ancre, il échoue même sur les témoins positifs ; avec dix ancres vraies, il retrouve toute la clé. On énumère alors les jeux d'ancres compatibles avec H9 (97 sur 324), et l'on teste les plus plausibles. Un seul se détache : D = {23 juin 漾, 18 juillet 巧, 19 juillet 皓, 13 septembre 元}.

Mesure (jeu d'ancres D)ArchivesMélangé (nul)Témoin positif
Score, corpus v47053491 203
Score, corpus v5 (q ≠ g)8293321 216
Reproductibilité (3 graines)même optimum à 0,001 près, 96/96 unités concordantes

Le juge est le message 0406, tenu à l'écart. On mesure le gain moyen de log-vraisemblance par caractère sous le modèle de langue, par rapport à un caractère moyen : positif si le décodage ressemble à du chinois, négatif sinon. La table D le décode à +1,9 par caractère sur le corpus v4, puis +3,47 sur le corpus v5, alors que toutes les autres tables candidates restent à 0 ou en dessous et que les tables nulles donnent −1 à −2,5. En validation croisée (S7 : régler sur cinq messages, juger sur le sixième), la table se transporte sur 6 messages sur 6. Le texte devient lisible par phrases : 三十式槍、萬一千、軍用品已到門司、年息一割、無擔保、第二批械、軍務院、豫定計畫…

Étape 5 — La grille G0

En regardant la table ajustée, case par case, une régularité saute aux yeux : les consonnes se suivent dans l'ordre alphabétique inversé, deux par dizaine, et les voyelles montent puis descendent. Les quelques cases qui s'en écartent sont celles que les données contraignaient mal. On remplace donc la table ajustée par la grille régulière qu'elle approxime : G0, qui n'a plus aucun paramètre libre.

Le résultat est le test le plus fort de l'enquête : sans aucun réglage, G0 décode le message témoin 0406 à +3,99 par caractère, mieux que la table ajustée dont elle est issue (+3,48). Une table bruitée par l'ajustement fait moins bien que la règle simple qu'elle cachait : c'est ce qu'on attend si la règle est la vraie clé. G0 redonne les 351 codes des sept messages, et les fins de message deviennent cohérentes : signature 伸 puis jour (漾 pour le 23 juin, 巧 pour le 18 juillet, 元 pour le 13 septembre, 卅 pour le 30 septembre, 文 pour le 12 juillet).

Deux fins semblaient anormales. Le 19 juillet se termine par 4210 au lieu de 皓 (4110) : c'est une lettre fautive, expliquée par le second canal (étape 6). Le message daté du 30 juin se termine par 卄 (20) ; la lecture a été revérifiée à l'image, et l'écart reste une erreur d'encodage, ou une rédaction le 20 pour un dépôt le 30.

Pourquoi y croire : les contrôles

Critère fixé à l'avanceRésultat
Témoins positifs de même forme récupérésOui (1 203–1 216 ; clés retrouvées)
Archives nettement au-dessus des nulsOui (829 contre ≈ 335 ; 1 144 après relecture)
Optimum reproductible depuis des départs différentsOui (3 graines, même optimum)
Message tenu à l'écart lisible sans réglage (≥ +2,5 / caractère)Oui : +3,99 sous G0
Texte chinois suivi, cohérent avec les dates du formulaireOui pour l'essentiel ; 12 caractères douteux sur 351 (plus 6 rares mais confirmés)
Recoupement extérieur indépendantOui : l'expéditeur 伸 = 趙伸, identifié après le décodage dans une étude de 2026[7] qui décrit les mêmes contrats d'armes, puis confirmé par les formulaires (nom et adresse de Zhao Shen)
Second canal : message tenu à l'écart lisible sous une clé ferméeOui : 0496a à +4,62 sous Y0, annonce de la mort de Cai E à Fukuoka le 8
Second canal : fins datées hors ancres conformes au formulaireOui : 4 sur 4

Ce dernier point mérite d'être souligné : le nom de Zhao Shen, la livraison du « second lot d'armes », la garantie refusée par le Guangdong et le partage des armes entre Yunnan et Guangdong apparaissent dans les télégrammes décodés avant qu'on ait lu l'article de Cheng Honglei. Aucun de ces mots n'a été injecté dans la recherche.

Limites : G0 a été lue dans une table ajustée et Y0 déduite de cinq ancres, elles ne sont pas tombées du ciel ; les derniers lots de lecture n'étaient pas aveugles ; et les traductions sont des traductions de travail.

Étape 6 — Le second canal et la grille Y0

Un autre groupe de formulaires, sans le nom 文密, vient du même expéditeur : 15 formulaires de juillet à novembre 1916 entre Tokyo et le Yunnan, signés de Zhao Shen ou adressés à lui, qui commencent en général par l'indicateur en clair « Cg ». Leur alphabet diffère : y y est une voyelle, et G0 n'y donne rien. Le test des rangs montre la même structure de coordonnées (consonnes z ≈ 22, voyelles z ≈ 5), mais quatre séries de recherches par recuit (E26 à E29), même avec des lectures humaines et des ancres de date, restent négatives : le solveur retrouve parfaitement ses témoins positifs, mais le message tenu à l'écart (0496a) plafonne à +0,9 par caractère, loin du seuil de +2,5.

Le déblocage est venu de la lecture humaine des en-têtes et des fins de message :

Ces cinq valeurs (bu = 01, ky = 35, ha = 29, ry = 60, fo = 14) s'ajustent exactement à un syllabaire linéaire : 17 consonnes dans l'ordre alphabétique sans c, j ni q, six voyelles parcourues en serpentin, et valeur = 6 × rang de la consonne + rang de la voyelle. Un seul choix restait libre, l'ordre de e et i ; il a été fixé par symétrie avant tout décodage (sur les lectures automatiques, la variante inverse donne +2,76 par caractère, contre +4,23).

CONS = "bdfghklmnprstvwxz"          # 17 consonnes, sans c, j, q
Y0 = {c + v: 6 * i + r for i, c in enumerate(CONS)
      for r, v in enumerate("yuoiea" if i % 2 == 0 else "aeiouy")}
# 102 syllabes : ze = 100 et za = 101 ne servent pas

Résultats sous Y0, sans aucun réglage :

Deux précisions sur les règles. Les ancres de Y0 viennent d'un télégramme en clair du même jour, donc d'un document, pas d'une supposition. En revanche, un « mot probable » (電, « télégramme ») a été essayé : c'était un écart déclaré à la règle « aucun crib », il n'a rien apporté et a été rejeté (E29). Enfin, le texte de ce canal a été entièrement relu à l'aveugle par un humain, et le nombre de mots concorde partout avec celui noté sur le formulaire ; il reste pourtant moins sûr que celui du premier : beaucoup de caractères rares y restent marqués.

Ce canal a aussi permis de corriger le premier : le télégramme de Zhaoqing du 19 juillet finissait par un code impossible, alors que son jumeau du Yunnan, envoyé le même jour, finit bien par 伸皓 (le 19). Relue à l'image, la lettre fautive est un i à la place d'un e : en Morse, e s'écrit · et i ··.

Le problème ouvert : les messages de 1917

Les deux télégrammes chiffrés de juin 1917, 0509 et 0511 (Sun Yat-sen ↔ Dai Jitao), résistent. Ils ne portent ni le préfixe 文密 ni l'indicateur « Cg », et leur alphabet est encore différent (c et j présents, y à la fois consonne et voyelle, quelques groupes atypiques). Ni G0 ni Y0 ne les lisent, et aucune des familles de tables testées ensuite (grilles du même type, tableaux 17 ou 18 × 6 en ordre libre, coordonnées avec ancres, mots probables) ne fait ressortir quoi que ce soit au-delà du hasard. La lecture humaine à l'aveugle, les confusions possibles et toutes les pistes sont détaillées dans la page Télégrammes.

Les tables retrouvées et leurs dates de découverte

Récapitulatif des tables trouvées au cours de l'enquête (octobre 2026), dans l'ordre chronologique des télégrammes qu'elles lisent. Pour les condensateurs, la construction se lit ainsi : ordre des consonnes / ordre des voyelles / remplissage par voyelle (V : valeur = 20 × rang de la voyelle + rang de la consonne) ou par consonne (C : valeur = 5 × rang de la consonne + rang de la voyelle) / premier nombre. Les tables publiées par D. Bourdeau[1] n'y figurent pas.

TableTélégrammesConstructionTrouvée leOù la lire
Hong KongHong Kong, mars 1914y k u l o c a p i t → 0 1 2 3 4 5 6 7 8 915 octobre 2026Définition
« Laisaosang »juin 1914–février 1915c…b / o a e u i / V / 0115 octobre 20261915
« New York »juillet 1914–février 1915b…z / a e i o u / C / 0015 octobre 20261915
« Hsuweilin »San Francisco → « Hsuweilin », juillet 1914b…z sans k / a e i o u / C / 0115 octobre 202627/7/1914
candidate · « Kai »Changchun et Shanghai, août–septembre 1914g…f / e o a u i / V / 0115 octobre 20261914 (non publiés)
Rosamondeanglais, Tokyo ↔ Shanghai, 1915–1916a↔u b↔g c↔s e↔o f↔j h↔y i↔r k↔z l↔t m↔w n↔v q↔x (substitution réciproque)15 octobre 2026Rosamonde
« Thirtieth »Shanghai ↔ Tokyo, février–mai 1915v…t / u i e o a / V / 0115 octobre 20261915
« Thirteenth »Tokyo → Shanghai, février–mars 1916n…m / o a e i u / V / 0115 octobre 20261915
SixteenthShanghai ↔ Tokyo, avril 1916t…s / e u o i a / V / 0115 octobre 2026Définition
SeventeenthShanghai ↔ Tokyo, avril 1916p…n / i u a e o / V / 0115 octobre 2026Définition
« Thirtyeight »Tokyo → Shanghai, mai 1916k…j / e a i u o / V / 0113 octobre 2026mai 1916
Huang XingTokyo ↔ Shanghai (« Ylchang »), fin mai – juin 1916d c b t h j f q g k n m p s r l x w z v / u i o e a / C / 0115 octobre 2026Huang Xing
G0 (« 文密 »)Tokyo → Conseil des affaires militaires, juin–septembre 1916h g f d c b z y x w v t s r q p n m l k / a→u, u→a9 octobre 2026Étape 5
Y0 (« Cg »)Tokyo ↔ Yunnan, juillet–novembre 191617 × 6 (y) / serpentin11 octobre 2026Étape 6

Le tableau distingue les tables établies de la candidate « Kai », qui ne compte pas comme déchiffrement publié. Les périodes indiquent les attestations du corpus, y compris le lot Inédits.

S'y ajoutent deux tables de D. Bourdeau confirmées ou précisées : sa seconde table « Manille », publiée à titre provisoire, lit sans correction un télégramme du 6 janvier 1915 (15 octobre 2026) ; sa table « Honolulu » lit les télégrammes « Aloha » d'avril–mai 1916 si w vaut v (13 octobre 2026).

1914 : Hsuweilin et la candidate « Kai »

Le dossier de juillet 1914 – janvier 1915 de la même série (JACAR B03050087500) contient une dizaine de télégrammes à condensateur, souvent précédés d'un mot en clair qui sert d'indicateur (« Ting », « Kai », « Sixth », « Chung »). Les mêmes tests que pour 1915 (famille complète des tables de condensateur, clés déjà connues, six témoins mélangés) donnent, le 15 octobre 2026 :

Les messages marqués « Chung » restent illisibles. Candidate non corroborée : le meilleur écart pour « Kai » est de 3,01 − 1,61 = 1,40, sous le seuil de publication de 1,5. Les deux textes restent hors corpus ; aucune identité n’est attribuée à l’indicatif.

Les relectures sont désormais appliquées : Hsuweilin, Sixth et Ting sont publiés dans les Inédits. Les deux Kai restent exclus pour les raisons de seuil et de lisibilité détaillées ci-dessous.

Tables supplémentaires : une recette complète pour chaque lecture

Le lot Inédits 1913–1916 ajoute des tables précises à deux procédés distincts. Un condensateur convertit une syllabe consonne–voyelle en deux chiffres ; le système Hong Kong remplace chaque lettre par un seul chiffre. Dans les deux cas, quatre chiffres donnent un caractère du code télégraphique public. Un message déjà numérique se lit directement dans ce répertoire : il ne prouve pas à lui seul l’existence d’un chiffre secret.

Sixteenth et Seventeenth : remplissage par voyelle

La liste de base est b c d f g h j k l m n p q r s t v x y z. On la fait tourner de 15 places vers la gauche pour Sixteenth, de 11 pour Seventeenth. Les rangs commencent à zéro : i est celui de la consonne dans la liste tournée et j celui de la voyelle dans l’ordre de la table. La valeur d’une syllabe est (20 × j + i + 1) modulo 100, écrite sur deux chiffres. Deux syllabes sont concaténées, sans addition. Ainsi, sous Sixteenth, xe·qu → 03·38 → 0338 → 兄, premier caractère du 19 avril 1916.

TableConsonnes dans l’ordre de la tableVoyellesFormule
Sixteentht v x y z b c d f g h j k l m n p q r se u o i a(20 × j + i + 1) modulo 100
Seventeenthp q r s t v x y z b c d f g h j k l m ni u a e o(20 × j + i + 1) modulo 100

Hsuweilin : remplissage par consonne

Consonnes b c d f g h j l m n p q r s t v w x y z (sans k), voyelles a e i o u. La formule devient (5 × i + j + 1) modulo 100. Par exemple gu·ca → 25·06 → 2506 → 昨, au début du 27 juillet 1914. L’alphabet diffère de celui de Sixteenth : il faut conserver chaque liste exactement.

Hong Kong : une lettre, un chiffre

La substitution est y k u l o c a p i t → 0 1 2 3 4 5 6 7 8 9. On rejoint les groupes de transmission, puis on découpe en blocs de quatre lettres. Exemple : kcpk → 1571 → 已 dans le 13 mars 1914. Le premier mot télégraphique n’est donc pas une syllabe de condensateur. Les défauts de longueur restent des problèmes de copie ; un recalage proposé ne devient pas une lettre lue.

Des contrôles séparés de la restitution

La sélection exige un score par code ≥ 1,5 et un écart strictement supérieur à 1,5 au témoin mélangé, une table établie, un texte intelligible et la relecture appliquée. La lisibilité est un contrôle indépendant du score : le 23 septembre 1914 « Kai » reste exclu comme brouillon, et celui du 9 août échoue à l’écart demandé (3,013 − 1,613 = 1,400). Les deux messages ne sont pas publiés. Les scores initiaux et les recalages restent distincts dans le manifest ; les points douteux et les lettres ajoutées restent visibles.

Les neuf ajouts de 1915 n’introduisent pas de nouveau solveur. Thirtieth se lit désormais de février à mai 1915 ; Shanghai est attestée en juin 1915 et San Francisco en octobre 1915, avec les tables publiées [1]. La relecture R23 préremplie a été suivie de R24 sur les caractères marqués ; les refus ou indécisions n’ont pas été transformés en confirmations. La série compte vingt télégrammes, 446 codes, 53 caractères douteux et 1 illisible. Les deux ajouts Rosamonde des 6 et 7 mars emploient le procédé déjà décrit : les qq relus restent au chiffre, et [pp] dans la lecture anglaise signale l’usage de q pour p attesté en 1915, sans effacer cette particularité.

Cette section décrit les premières pièces analysées ; les attestations de 1914 figurent au récapitulatif, et la relecture R23 des neuf ajouts de 1915 est précisée plus haut.

Trois tables de plus : 1915

Les volumes de 1915 de la même série (JACAR B03050087600 et B03050087700)[17] n'avaient jamais été ouverts. Ils contiennent des télégrammes à condensateur antérieurs d'un an à ceux de 1916. Pour chacun, nous avons fait tourner la famille complète des tables de condensateur (604 800 tables : vingt consonnes dans l'ordre alphabétique ou inverse, point de départ, ordre des cinq voyelles, remplissage par consonne, par voyelle ou en serpentin, départ à 00 ou 01) et comparé le meilleur score à ceux de six témoins, les mêmes syllabes mélangées. Trois tables ressortent nettement, chacune lisible sur plusieurs télégrammes :

Enfin, le 6 janvier 1915, un télégramme de Tokyo à « Konglipo » (Manille) se lit sans correction avec la table que Daniel Bourdeau avait proposée, à titre provisoire, d'après un seul télégramme de mai 1916[1] : 無其事。文覆 (« Il n'en est rien. — Wen, en réponse »). Cette table était donc en service seize mois plus tôt.

Les lettres ont été lues sur les scans par Claude, puis j'ai relu à l'aveugle les points douteux (lot de 77 questions, dont 10 syllabes témoins, toutes confirmées ; j'ai retrouvé 15 des 22 corrections proposées sans savoir lesquelles étaient attendues). Les télégrammes sont sur la page Télégrammes.

Une quatrième table nouvelle sert en mars 1916 entre Tokyo et Shanghai : « Thirteenth », annoncée en clair par ce mot sur un télégramme du 28 février 1916 : consonnes à partir de n, voyelles o a e i u, remplissage par voyelle, départ à 01. Elle lit les télégrammes du 12 et du 16 mars 1916 (4,83 et 4,52 par code) et celui du 28 février lui-même (4,40), où un mot anglais est laissé en clair au milieu du chiffre : 正金銀行 bearer 票, des billets au porteur de la Yokohama Specie Bank ; voir février–mars 1916.

Rosamonde : de l'anglais sous une substitution réciproque

Échantillon initial étudié le 15 octobre 2026, hors ajouts des 6 et 7 mars 1915.

Dans les mêmes volumes, et en mai 1916 dans le dossier B03050089000[16], d'autres télégrammes ne ressemblent pas à des condensateurs : des mots de dix lettres sans alternance consonne–voyelle, avec des groupes de consonnes et des voyelles doublées. Le test sans clé est négatif (ce n'est pas une table de syllabes), mais trois statistiques orientent : l'indice de coïncidence des lettres vaut 0,062, celui d'une langue naturelle (0,038 pour des lettres au hasard) ; f et q n'apparaissent jamais ; des trigrammes reviennent d'un télégramme à l'autre (hea, dix fois). C'est la signature d'une substitution simple sur un texte en langue naturelle.

Un recuit simulé sur toutes les substitutions de 26 lettres, noté par un modèle de quadrigrammes anglais, fait apparaître de l'anglais dès le premier essai (your letter, received my life, cable). La table trouvée est presque une involution (chaque lettre échangée avec une autre) ; en restreignant la recherche aux substitutions réciproques, la clé se fixe : a↔u b↔g c↔s e↔o f↔j h↔y i↔r k↔z l↔t m↔w n↔v q↔x, d et p inchangés. hea = you, teno = love. La table ci-dessus décrit la substitution de base. Les formulaires de 1915 attestent aussi q à la place du chiffre attendu pour p, notamment les qq relus du 6 mars ; le texte les note [pp]. Cette particularité de l’usage ne modifie pas silencieusement la table réciproque.

Trois contrôles. (1) Un texte anglais de même longueur, chiffré par une table tirée au hasard, est retrouvé à 100 % par la même recherche. (2) Hors échantillon : la clé tirée des seuls télégrammes de 1915 lit les sept télégrammes de mai 1916, que j'avais transcrits à l'aveugle avant la découverte (z = 7,5 contre 2 000 tables réciproques tirées au hasard). (3) Ma relecture aveugle des télégrammes de 1915 (50 lignes, sans voir ni la lecture de Claude ni le clair) se lit tout aussi bien (z = 10,9). Un télégramme d'un autre système reste illisible (z = 0,6). Le contenu — une correspondance amoureuse entre Sun Yat-sen et Soong Ching-ling — est présenté sur la page Les télégrammes de Rosamonde.

Pourquoi tant de lettres corrigées en mai 1916 ?

Dans l'édition, les lettres entre crochets sont celles que le formulaire porte autrement, ou omet. Elles sont trois fois plus nombreuses en mai 1916 (109 sur 611, 17,8 %) qu'en 1915 (59 sur 1 061, 5,6 %) ; le télégramme du 12 mai, sur deux feuillets, en compte à lui seul la moitié (56 sur 234). J'ai vérifié chacune de ces lettres sur les images, la lettre attendue sous les yeux (15 octobre 2026) : sur 133, 99 sont bien écrites autrement sur le formulaire, 18 peuvent se lire comme la lettre attendue, 16 restent incertaines. Ces statistiques et les comparaisons qui suivent portent sur l’échantillon initial vérifié le 15 octobre 2026 ; elles excluent les deux ajouts des 6 et 7 mars 1915.

La méthode n'explique presque rien. L'édition de 1915 combine deux lectures indépendantes, celle de 1916 ma seule lecture ; mais à lecteur constant — ma lecture aveugle de 1915, seule —, l'écart avec le chiffre attendu est d'environ 7 % en 1915, contre 18 % en 1916. Les formulaires de 1916 sont moins fidèles, et les écarts se concentrent sur trois paires de lettres :

lettre attendue1915 (ma lecture aveugle)mai 1916 (vérifiée sur l'image)
v (clair n)v 41 fois sur 47v 18 fois, n 23 fois
r (clair i)r 51 fois sur 51r 7 fois, i 24 fois
h (clair y)h 46 fois sur 47h 16 fois, y 7 fois

Ces erreurs ne viennent pas de la transmission : en morse, n et v, i et r, h et y n'ont rien de commun. Elles naissent quand quelqu'un lit une écriture cursive — sans doute l'employé qui recopie au guichet le message manuscrit de l'expéditeur — et vont presque toujours dans le même sens : un v attendu devient n, jamais l'inverse ; un h devient y, jamais l'inverse. Deux causes sont possibles, sans que l'on puisse trancher. Des télégrammes écrits à la hâte : en mai 1916, Sun dirige le soulèvement depuis Shanghai (« now very busy »), et le chiffrement lui-même est plus négligé, avec des mots entiers laissés en clair (know, own, iron, trunk) et même un demi-mot (anxi-ous). Ou d'autres employés : à Shanghai, des télégraphistes lisant une écriture latine qui n'est pas la leur ; les deux télégrammes de Ching-ling partis de Tokyo présentent toutefois les mêmes fautes.

La clé aggrave l'effet : elle échange justement des lettres qui se ressemblent (a/u, c/s, e/o, h/y, i/r, l/t, n/v…), si bien que la moindre hésitation d'écriture donne une lettre plausible à l'œil, mais fausse pour le déchiffrement. La clé de 1916 reste bien celle de 1915 : une variante trouvée d'abord par recherche automatique (v↔p, n, i et r inchangés) n'était qu'un effet de ces erreurs ; elle est contredite par chaque v du clair, que le formulaire écrit n et jamais p.

À notre connaissance, ni ce système ni ces textes n'avaient été publiés : ils sont absents des notes de Daniel Bourdeau[2], de Cryptiana[8], de l'historiographie du mariage[18][19] et de la biographie de J. Chang et J. Halliday[20] (vérifié le 15 octobre 2026).

Prolongement : mai–juin 1916, une clé connue sur des télégrammes nouveaux

Ici, la clé n'est pas nouvelle : les télégrammes Tokyo → Shanghai (« Junzaburo ») de mai 1916 sont chiffrés avec le condensateur « Yamada », déjà identifié et publié[1, 2]. Ce qui est nouveau, ce sont les télégrammes eux-mêmes. Les transcriptions publiées s'arrêtent au dossier JACAR B03050089100 (fin mai) ; en ouvrant les envois suivants du ministère des Communications (B03050089000, B03050089200, B03050089400), j'ai trouvé dix télégrammes de la même série, du 17 mai au 15 juin, jamais transcrits.

La méthode est celle du reste de l'enquête, appliquée à rebours : la clé étant connue, tout repose sur la lecture des lettres. Claude a lu chaque formulaire sur le scan ; là où un caractère n'avait pas de sens, il a cherché la ou les lettres qui, changées une à une (confusion de copiste ou de Morse), donnaient un texte sensé ; je les ai ensuite vérifiées sur l'image, une par une, sachant ce qui était cherché (lots V1–V6, environ 40 points : la grande majorité confirmée, quelques-unes rejetées, que le texte garde comme douteuses). Contrôles indépendants de la clé : la rime de date concorde avec le formulaire, la signature 持 (Xie Chi) revient, et les personnes nommées (席正銘, 趙瑾卿, 廖仲愷, 居正, 萱野) sont réelles et du bon milieu. Résultat : voir la page Télégrammes.

Début mai 1916 : les réponses de Shanghai. Le lot du début mai contient, outre les télégrammes de Tokyo, des réponses de Shanghai à Tokyo : elles se lisent avec la même clé « Yamada », employée dans l'autre sens, et l'une est signée 文. Il contient aussi un télégramme de Manille relayé vers Shanghai, lu avec la clé de Manille à Tōyama déjà publiée[1]. Les mots douteux ont été vérifiés à l'image par Brice Dudout.

Le « w » du 10 mai : un parti pris, et une piste. Sur le formulaire du 10 mai (0042a), le chiffreur écrit deux fois w là où la table « Yamada » attend un p (« xetuwotedi », « rusidewari »), alors que le même formulaire emploie aussi p. Le w n'existe pas dans l'alphabet de « Yamada » (vingt consonnes, sans w), et ce n'est pas une faute de plume plausible. Nous le traitons donc comme un choix assumé : w est une seconde forme du p (un homophone), et la page Télégrammes lit ce télégramme avec la table « Yamada » où w vaut p ; les lettres y sont données telles qu'elles sont écrites. Parmi les vingt valeurs possibles pour w, celle du p est nettement la meilleure, et la seule qui donne 「昨日到」 et 「乘原船」 ; le reste de la table est inchangé (la signature 持 et la date 灰, le 10, tombent juste). Deux k du même formulaire semblent aussi tenir lieu de p (事, 灰) : ils restent des propositions. La piste du w a ensuite conduit à un résultat : les télégrammes de Tokyo sans indicateur et ceux de Shanghai à « Ylchang » ont livré la table de Huang Xing, dont l’ordre des consonnes est effectivement permuté. Certains messages restent hors de cette lecture, comme indiqué dans cette section. G0 suit pour sa part un alphabet inversé, décrit plus haut.

Honolulu : une variante « Aloha » de la clé. Le télégramme d'Honolulu du 30 avril (préfixe en clair « Aloha », adressé à « Rosamonde », c'est-à-dire Sun Yat-sen) emploie un w, absent de l'alphabet des condensateurs, à côté de v. Il se lit avec la clé « Honolulu » déjà publiée[1] en donnant au w la valeur du v : une seconde forme de la même lettre, comme le w du p le 10 mai. Nous le présentons comme une variante « Aloha » de cette clé. Le télégramme est signé 鐵城 (Wu Tiecheng, alors à Honolulu) et se lit 「黃轉到日,換船赴滬。鐵城」 (« Huang [Xing] passe au Japon et y changera de navire pour Shanghai »). Trois lettres y sont corrigées comme des erreurs de transmission (deux fois s reçu pour r, une fois o pour e) ; le premier caractère, 黃, est restitué d'après le contexte : Huang Xing arrive au Japon le 9 mai (télégramme 0042a).

Deux flux de la même période semblaient résister : des télégrammes de Tokyo sans le préfixe « Thirtyseventh », qui partagent entre eux des suites de lettres répétées, et ceux de Shanghai à « Ylchang » (Huang Xing). Ils se lisent en fait avec une même table, nouvelle : voir la table de Huang Xing.

Une table nouvelle : « Thirtyeight » (mai 1916)

Deux télégrammes de Tokyo du début mai portent un autre préfixe en clair, « Thirtyeight » au lieu de « Thirtyseven ». Le test sans clé y montre une table du même type (deux lettres → deux chiffres), mais la clé « Yamada » ne les lit pas. Une recherche sur la famille des tables de condensateur (point de départ des consonnes, ordre et sens des voyelles, décalage : 57 600 tables) en sort une nettement en tête (z = 6,7) : consonnes dans l'ordre alphabétique à partir de k, voyelles e a i u o, valeur = 20 × rang de la voyelle + rang de la consonne + 1 (modulo 100). C'est la construction de « Yamada » (consonnes à partir de q, voyelles e u i o a) avec d'autres paramètres. Elle lit le télégramme du 12 mai sans changer aucune case : 「箱已交犬塚,十五日附法船來。若有要事,請電如下」 (« la caisse a été remise à Inuzuka ; elle partira le 15 par un navire français ; pour toute affaire urgente, télégraphier à… »), suivi d'une adresse en clair ; une seule lettre y est corrigée (d → x, une confusion de copie déjà relevée ailleurs). À notre connaissance, cette table n'avait pas été publiée. Elle lit aussi le second télégramme « Thirtyeight », du 11 mai : 「聞張繼已回日,頗奇,是否?」 (« j'apprends que Zhang Ji est rentré au Japon ; c'est très surprenant — est-ce vrai ? »), avec une lettre corrigée (o → e).

Une seconde table nouvelle : la table de Huang Xing (fin mai – juin 1916)

Du 26 mai au 6 juin 1916, des télégrammes partent de Tokyo pour « Junzaburo » (Shanghai) sans le préfixe « Thirtyseven ». Aucune table connue ne les lisait[2], [8], mais deux observations ont guidé la recherche. Le télégramme du 6 juin reprend la fin de celui du 3 juin, code pour code, en rétablissant neuf codes perdus à la transmission. Et trois télégrammes finissent par les mêmes deux codes, quelle que soit leur date : ce n'est pas une date (comme le « 持 » suivi de la rime du jour chez Xie Chi), mais une formule de fin et une signature.

À ne pas confondre avec le code à trois kana d'un autre télégramme de Huang Xing (25 mai 1916, à Lin Hu et Li Genyuan), dont le système a été identifié par D. Bourdeau et la formule par S. Tomokiyo[22][23].

Le test sans clé y montrait une table de coordonnées (la consonne porte la dizaine). Nous avons donc cherché, par recuit simulé, une table où chacune des vingt consonnes occupe un bloc de cinq valeurs consécutives, dans un ordre quelconque, les voyelles suivant un ordre commun ou alterné. La recherche a d'abord été étalonnée : des télégrammes déjà lus, rechiffrés avec une table de cette famille tirée au hasard, ont été retrouvés entièrement (12 sur 12). Sur six télégrammes de Tokyo (140 codes), les six essais indépendants aboutissent à la même table, très au-dessus du témoin (les mêmes syllabes mélangées) : 4,26 contre 0,73 par code.

La table est d'une grande régularité : consonnes dans l'ordre d c b t h j f q g k n m p s r l x w z v, chacune sur cinq valeurs consécutives numérotées de 01 à 99 puis 00 (du = 01, di = 02 … va = 00), voyelles dans l'ordre u i o e a. Les télégrammes de Tokyo finissent tous par 覆。興 (« répondez. — Xing ») : Huang Xing, à Tokyo depuis le 9 mai. Sans changer une case, la même table lit aussi des télégrammes de Shanghai à « Ylchang » (Huang Xing) signés 文 ou 孫文 (Sun Yat-sen) ; celui du 6 juin finit par la date 魚, le 6, celle du formulaire.

Ce qu'ils disent : le 3 juin, Huang Xing a vu Tanaka (田中, sans doute Tanaka Giichi, vice-chef d'état-major) : 「槍二千、砲六門不日可運」, 2 000 fusils et 6 canons pourront partir sous peu ; le 31 mai, 200 000 de fonds et des armes, et Hu Hanmin (漢民) chargé de prier Aoki (青木) d'intervenir de nouveau auprès des autorités ; [les Japonais] ne souhaitent pas que Sun se rende en hâte au Shandong, et Huang propose une médiation de Zhang Ji (溥泉) et d'un militaire de prestige. Neuf télégrammes sont lus ; les lettres douteuses ont été vérifiées sur les formulaires par Brice Dudout (lecture aveugle au sens), et les télégrammes figurent sur la page Télégrammes. Deux télégrammes de Shanghai à « Ylchang » (29 mai et 8 juin), d'un autre expéditeur (mêmes codes d'ouverture et de fin), ne se lisent pas avec cette table.

À notre connaissance, cette table n'avait pas été publiée : ces télégrammes figurent comme non lus dans les notes de Daniel Bourdeau[2] et sur Cryptiana[8] (vérifié le 15 octobre 2026).

Outils

Le solveur, les deux clés, les données de lecture et le modèle de langue sont publiés dans le dossier solver/ du dépôt GitHub, avec de quoi rejouer la recherche ; le journal complet de l'enquête le sera ensuite.