中文译本 · 原作 Daniel Bourdeau《Unsolved Historical Ciphers》 以 CC BY 4.0 发布,本页由 JIC 翻译,非原作者官方版本,译文如有出入以英文原页为准 · 查看英文原页 ↗
Twelve baxuxupeja qicijinati bemigasiqi
jakebiqoye kufohemige tuxaboboba gedocijiga
… xitonatula xopavajejo rope… tanaka

中国 / 日本 · 带字母压缩的中文电报码 · 1916

汕头的“Tanaka”致孙中山,1916年4月3日

孙中山
收信人孙中山

汕头,1916年4月3日下午6:05,发往“Rosamonde Tokio” · 被日本外务省截获 · JACAR B03050738800(外務省 680682)

压缩表仅凭密文(177个字母)复原,方法是逐一测试由山田纯三郎的压缩表所知的那个规则家族中的每一张表。约44个字中解读出42个;最后一个词约合两个码组,在收报抄件中已经错乱。S. Tomokiyo 用山田自己的表做过尝试,没有成功,也没有找到其他解读。

Daniel Bourdeau · 发布于 · 更新于

方法:仅凭密文复原密钥 · 范围:完整

摘要。1916年4月,日本外务省秘密获得一封22个词的电报,由汕头的一个“Tanaka”发给“Rosamonde Tokio”(宋庆龄的英文名,也就是孙中山家),却无法解读。S. Tomokiyo 试过孙中山的日本支持者山田纯三郎留下的两张代码压缩表之后,于2021年发表了这封电报,没有给出解读。其字母恰好是这种压缩表的20个辅音和5个元音,而已知的两张表都是规则化的(辅音按字母顺序,元音重新排列,按行或按列填充)。这个家族很小,算上加数共57 600把密钥,其中一把用汉字模型打分后,比其余的高出八个标准差。明文用的是标准电报码本,是革命党一方在汕头发出的一份前线报告:潮城由莫擎宇獨立。我軍亦光復汕頭。後莫率大隊來,令我退出鎮守府。我軍力薄,暫由翼□支持。文慧返[港]……“潮州城已由莫擎宇宣布独立。我军也光复了汕头。随后莫率大队前来,命令我们退出镇守府。我军力量薄弱,暂时由翼□支持。文慧正返回[香港]……”这与1916年3月27日至30日的事件相符。完成程度:约44个字中解出42个;港是根据一处莫尔斯电码错误(M)复原的,最后一个词(约两个代码)在收报抄件中已经错乱,还有一个名字未能确定。

续篇:同一个密钥家族还能解读递信省截获档案中孙中山圈子1916–17年的另外约六十封电报:电报线上的孙中山圈子。

01 文献

JACAR B03050738800 是外务省1916年4月29日至5月11日关于孙中山密码电报的一份档案。其中包括:(i)孙中山从东京发给汉口领事馆一名警察的五封电报,用四位数码组,即 Tomokiyo 已经解读过的“+111”代码;(ii)一份急件,機密送第一號,由外务大臣石井发给驻汕头代理领事——此人本人就叫 Tanaka(田中)——询问这个“Tanaka”是谁、为何给孙中山发电报、是否冒用领事的名义,并要求“如有可能”解读这封电报;(iii)这封电报本身;以及(iv)汉口总领事5月11日关于孙中山下一套方案的报告(五位数码组,数字倒序,减去111)。档案中没有任何内容解读了汕头电报。

收报表格,帝国政府电信局,东京,1916年4月3日,汕头发往 Rosamonde Tokio:Twelve baxuxupeja …
电报的第一页(JACAR B03050738800,第680682帧;S. Tomokiyo 裁切)。汕头发报局,第1507号,22个词,16年4月3日下午6:05;地址“Rosamonde Tokio”。图片:日本外务省外交史料馆,经 JACAR B03050738800,第680682帧;S. Tomokiyo 裁切,Cryptiana。
Twelve  baxuxupeja qicijinati bemigasiqi jakebiqoye kufohemige tuxaboboba gedocijiga poyevayoxa
        leyoleveke biromapesa vorobenife xikebiqoye qekufiyaqa tijaqixiqo xitonatula xopavajejo
        ropezpo ngobunibai   tanaka

按表格转录。Tomokiyo 的转录作 gedoeijiga 和 xitohatula;笔迹实为 c 和 n,而解读恰恰需要这个读法。“Twelve”是表的标识(山田的电报以“Sixtyfour”开头,指他的六十四號表)。

02 结构

03 密钥

把该家族全部 40 × 120 × 2 × 2 × 3 = 57 600 把密钥用在干净的音节串上,得到的四位数码组用一个繁体汉字频率模型打分(未知代码扣分)。最佳密钥(辅音轮转至从l开始,元音e a i o u,按列排列,从01起,无加数)得分 −360.6,而总体均值为 −553.6,标准差23.8;第二名落后49分。这张表是:

eaiou
l0121416181
m0222426282
n0323436383
p0424446484
q0525456585
r0626466686
s0727476787
t0828486888
v0929496989
x1030507090
y1131517191
z1232527292
b1333537393
c1434547494
d1535557595
f1636567696
g1737577797
h1838587898
j1939597999
k2040608000

绿色:该格由一个说得通的词确认(41格)。琥珀色:只用于存疑的码组。暗色:本电报未用到。注意 u 列:k-u = 00 被确认了两次(亦 0076、力 0500),从而确定了整列。

04 解读

码本 = 電報新編 / 明密碼電報書 的编号(这些字的编号与现代标准电报码相同)。虚线 = 校改过的字母 · 红色 = 未能确定

ba xu · xe pe · ja qi · ci ji · na ti · be mi · ga si · qi ja · ke bi · qo ye · ku fo · ne mi · ge tu · xa bo · bo ba · ge do
3390    1004    3945    5459    2348    1342    3747    4539    2053    6511    0076    0342    1788    3073    7333    1775
潮      城      由      莫      擎      宇      獨      立      我      軍      亦      光      復      汕      頭      後

ci ji · ga po · ye va · yo xa · le yo · le ve · ke bi · ro ma · pe sa · vo ro · be ni · fe xi · ke bi · qo ye · qe ku · fi ya
5459    3764    1129    7130    0171    0109    2053    6622    0427    6966    1343    1650    2053    6511    0500    5631
莫      率      大      隊      來      令      我      退      出      鎮      守      府      我      軍      力      薄

qa ti · ja qi · xi qo · xi to · na tu · la xo · pa va · je jo · ro pe · za no · [ngobunibai]
2548    3945    5065    5068    2388    2170    2429    1979    6604    3263
暫      由      翼      □       支      持      文      慧      返      港      …
潮城由莫擎宇獨立。我軍亦光復汕頭。後莫率大隊來,令我退出鎮守府。我軍力薄,暫由翼□支持。文慧返港……

事件经过。1916年3月26日,龙济光潮梅镇守使属下驻潮州的团长莫擎宇被陈炯明、林虎、何海鸣和当地革命党人争取过来;27日他占领潮州城,致电省当局“率師占領潮城,宣布獨立”:潮城,与电报中用的是同一个词。30日汕头的守备部队宣布拥护他,他以汕头为司令部正式宣布独立。与此同时,孙中山自己的中华革命党人已占领了该城的镇守使署;“Tanaka”是随他们行动的日本浪人之一,他在4月3日报告说,莫率大军前来,命令他们撤出,他们力量太弱无法抵抗,还有某人正在返回,大概是回东京报告。外务省怀疑发报人借用了汕头领事的名义;那位领事也姓 Tanaka(田中)。

05 仍不确定的部分

06 方法

  1. 为了解背景并核对字母,逐页查阅了 JACAR 档案(档案馆的图像服务器拒绝自动访问;PDF 是手工提供的)。
  2. 音节统计:20 + 5 的字母表和u的短缺,指向一种规则化的、按列排列的压缩表。
  3. 对整个规则家族(57 600把密钥)进行暴力搜索,用基于标准码本的单字频率打分(Unihan 电报码表;1916年的编号已用 Tomokiyo 解读的孙中山电报核实)。
  4. 对四个存疑码组逐一检查单字母替代读法;光復、支持、莫、潮城这些读法先按文意选定,然后在笔迹中得到印证。
  5. 对错乱的末尾进行编辑距离搜索(结果为否定),然后进行莫尔斯重新切分搜索,复原了港,最后一个词仍未解决。再对照莫擎宇起事3月26–30日的时间线做历史核验。

07 试用密钥

输入压缩字母(忽略空格)。每个辅音–元音对按上表变成两位数字;每两个音节组成一个码本码组,在标准电报码中查找。

08 资料来源

分析脚本、码本表和语言模型都在代码仓库中(targets/sunyatsen/).