中文译本 · 原作 Daniel Bourdeau《Unsolved Historical Ciphers》 以 CC BY 4.0 发布,本页由 JIC 翻译,非原作者官方版本,译文如有出入以英文原页为准 · 查看英文原页 ↗
REKUTATA UHOYAKATE SEKANAOKU SAKEKINISE
OSUKAKUCHI REUHONIUSU MAKASUSAKU FUREOHIHE
… ATAREUSASU OSOYUANIRA KISU

中国 / 日本 · 罗马字假名代码 · 1916

黄兴致林虎、李根源

黄兴
发信人黄兴

经日本外务省转发,1916年5月25日 · 石井外务大臣致驻肇庆领事 Ōta · JACAR B03050731500

外务省把一份译文与电报一起归档,所以总目把它记为“已解但具体方案不明”。这里转录了那份译文,并与假名对齐;对齐结果确定了方案,以及42个代码本条目。

Daniel Bourdeau · 发布于 · 更新于

方法:相邻明文复原密钥 · 范围:部分

摘要。1916年5月,黄兴请日本外务省把一份电报转给在广东的林虎和李根源。电报用的是中方自制的密码:139个罗马字日语假名音节,装进十个字母一组的电报词,没有浊音符号。S. Tomokiyo 后来发现一份备忘录,记载外务省曾把一份译文与电报一起归档,所以这一件被列为已解;他无法转录那份手写的中文,加密方案也一直没有确定。这两件事在这里都有了着落。译文及其加注的日文改写在档案的第0247和0248帧上,内容是一则关于护国军和一位旅人启航日期的简短回电。这一方案是一种此前未见于这批通信记载的假名代码:三个假名确定地编码一个汉字,依据一本私人代码本。最初的分析把辅音行当作数字、把元音当作可自由选择的同音符;在500 dpi 下重新检视这些帧后,这一看法被推翻了(第03节)。完成程度:方案已确定,找到一处传输错误,明文已从译文转录,复原了42个代码本条目;假名到数字的对照表和代码本的其余部分,需要第二份电报才能得到。

01 档案

JACAR B03050731500 是外务省关于反袁起义的一卷档案(1.6.1.75-1_015,胶卷1-0955,第0244–0302帧)。附函为電送第一九八〇号,密码,由外务大臣石井于1916年5月25日下午4时35分发给驻肇庆领事 Ōta,用日文明文说明了附件是什么:

黄興ヨリ林虎李根源宛電報依頼アリタルニ付同人ニ伝達アリタシ 内容ハ先日来電ノ挨拶ナリ(以下支那側暗号)
“黄兴请求向林虎、李根源发一份电报,请转交他们。内容是对日前来电的答复。(以下为中方密码。)”

要紧的是三帧:0246,印在帝国政府电报局转发电报用纸上的电报;0247,标题为電稿,是草书写的中文译文;0248,一名书记员在外务省用纸上把译文改排成日语语序的版本,附有他自己的注释。

帝国政府电报局转发电报用纸,上有 REKUTATA UHOYAKATE SEKANAOKU 等词
第0246帧:交发时的电报。五行十个字母一组的词,以 OSOYUANIRA KISU 结尾。图像:日本外务省外交史料馆,1.6.1.75-1_015 第0246帧,来自 JACAR Ref. B03050731500。
REKUTATA  UHOYAKATE  SEKANAOKU  SAKEKINISE  OSUKAKUCHI  REUHONIUSU
MAKASUSAKU  FUREOHIHE  YENIKIYEHI  TAKASUREU  SASHIKIHE  WAONIAAHO
SAYEHITE  UHINAKUTA  NEATEMUYE  SUHEUHAKA  YESOMIKANU  TEASUUKU
TSUHAKOSE  KEKININAKI  TEAKETASHI  KONUOHIKE  HIMIKANO  SHIKUSAHE
UHATAKASA  KEKINIKA  ATAREUSASU  OSOYUANIRA  KISU

按假名读,这是139个音节,其中36个各不相同。完全没有浊音假名(没有ga、za、da、ba),这在电报通信中很正常,因为浊音符号根本不传送。这些音节是日语的(SHI、CHI、TSU,以及旧式的 YE 和 WA),而不是六周前发给孙中山的汕头电报所用压缩码中的辅音-元音字母。

02 外务省的译文

第0247帧是译文:标题電稿,下面四列,分别为12、11、12和11个字,共四十六个字的电文。第0248帧是为日本读者重新排列的同一文本,它是两帧中更有用的一帧,因为书记员在没有把握的地方加了注释。

草书中文译文,标题为電稿,五列
第0247帧,電稿:解码出的中文。图像:日本外务省外交史料馆,1.6.1.75-1_015 第0247帧,来自 JACAR Ref. B03050731500。
同一文本,改排为日语语序,写在外务省的格纸上
第0248帧:书记员的日文改写,附有他的注释。图像:日本外务省外交史料馆,1.6.1.75-1_015 第0248帧,来自 JACAR Ref. B03050731500。

隱印崧蕘邕行諸兄鑒:正發書翰之際,適接哿電,敬悉一切。護國軍能速入湘贛甚好。章行嚴何日東渡?速令出發,並望預電。興 徑

“致 Yin、Yin、Song、Yao、Yongxing 诸兄:正要发信,适接二十日来电,一切敬悉。护国军若能迅速进入湖南、江西,甚好。章行严何日东渡日本?望令其即刻启程,并请预先电告。——兴,二十五日。”

大部分身份的确认都来自书记员的注释。在开头那一串名字旁,他写了林虎・李根源等ノ字ナラン,即“大概是林虎、李根源等人的字”;他也是在猜,而其中一个肯定是蔡锷的字松坡。他把湘贛注为湖南江西,即湖南和江西;把東渡注为日本ニ来ル,即来日本。章行嚴就是章士钊,黄兴的亲密同志。有两个字是日期,用的是中文电报中表示日期的韵目代日:哿 = 20日,徑 = 25日。署名的最后一个字徑,与附函上的发电日期完全吻合。这一吻合是证明这份译文属于这份电报的最好的单项检验。

更正,第二轮。上面的连贯文本是书记员根据第0248帧所作的意译(50字)。在500 dpi 下检视第0247帧上的草书,共46字:隱印崧誥邕行諸兄鑒正發書 · 間適接哿電敬悉一切護國 · 軍能速入湘贛甚好[章]行嚴何日 · 東渡望速啓行先電示興徑,其中章是行间补写的。这一字数与46个假名三元组恰好吻合;见第03节。

草书中有几个字形仍不确定,这里是综合两帧给出的。各列字数为 2 + 12 + 11 + 12 + 11;Tomokiyo 的笔记给出了同样的数字,却把它们加成68,实际相加是48。

03 方案

四十六个字对应138个可用假名,就是每个字三个假名,末尾多出一个假名。这确定了比率。问题在于每个假名的哪一部分在起作用,而五十音图的形状回答了这个问题:它是一张十个辅音行乘五个元音的网格。

—
K
S
T
N
H
M
Y
R
W
A
KA
SA
TA
NA
HA
MA
YA
RA
WA
I
KI
SHI
CHI
NI
HI
MI
—
RI
WI
U
KU
SU
TSU
NU
FU
MU
YU
RU
—
E
KE
SE
TE
NE
HE
ME
YE
RE
WE
O
KO
SO
TO
NO
HO
MO
YO
RO
WO

如果辅音行承载一个数字,而元音可以自由选择,那么明文中重复出现的字,会重复为同一组行的三元组,但不一定重复为同一组假名的三元组。这是一个可检验的预言,而计数结果毫不含糊。在46组中:

读解观察到的重复随机预期置换检验
辅音行71.03p = 0.006
元音88.28p = 0.70
字面假名1——

辅音行重复了七次,而随机预期只有一次。元音重复了八次,随机预期也是八次:在这种分组下,元音不承载任何信息。而表面的假名,也就是截获者实际看到的东西,在四十六组中只重复了一次。机制在这些重复的组本身中清晰可见,同一个字被拼成两种不同的样子:

S K N → SE-KA-NA 和 SHI-KO-NU
R — H → RE-U-HO 和 RE-O-HI
T — H → TA-U-HO 和 TE-U-HI
S K H → SA-KU-FU 和 SHI-KI-HE

那是最初的分析,而这些帧纠正了它。重新获取并在500 dpi 下检视后,第0247帧在标题之后有四列,分别为12、11、12和11个字,共46个,正是假名三元组的数目:

隱印崧誥邕行諸兄鑒正發書 · 間適接哿電敬悉一切護國 · 軍能速入湘贛甚好[章]行嚴何日 · 東渡望速啓行先電示興徑

上面早先那段50字的明文依据的是书记员在第0248帧上的日文意译;草书原文有46个字,章是行间补写的。这段明文中,行重复三次(位置6、32、41),速重复两次(26、39),電重复两次(17、43)。在上面的分组下,这几对中只有一对吻合。去掉第106位的一个假名,即第36个字开头 OHIKE 中的 O,从那里起的每个三元组都移动一位:行三次都成了 KE-KI-NI,速两次都是 HE-U-HA,電两次都是 RE-U-SA,末尾多出的 SU 则补全了最后一个字。归档的电报多了一个假名,而这种代码是确定性的:同一个字总是同样的三个假名,元音也不例外。

因此,表中的七次辅音行碰撞并不是同一个字用不同元音写出。移位之后,它们是若干对不同的字(印/護、誥/日、鑒/間、書/敬、國/嚴、甚/何、諸/示),共享同一组行三元组,只在元音上不同。元音承载信息。最初分析中保留下来的,是比率,即每字三个假名,以及假名所在的行与其代码值相关这一事实;行碰撞超出随机预期的部分,正是这种相关性从外部看上去的样子。在50个假名的音节表上,三个假名可以寻址125,000个条目,远多于任何私人代码本;最自然的解释仍然是一种三位数代码,每一位数字写成一组假名中的一个,只是这些组并不是行。

对此做过一次检验,结果失败。如果这些行是一本按字典顺序编排的代码本的数字,那么十个行的某种置换,应能使42个不同字的代码号按标准电码顺序单调排列。在全部3,628,800种置换中,最好的 Spearman rho 是0.524;对明文做十二次随机打乱后进行同样的搜索,得到的零假设分布均值为0.468,最大值为0.614。没有信号。

04 仍未解决的部分

同一代码的第二份电报可以解决这两个问题。这一份解决的是方案、明文,以及那个掩盖了重复的传输错误。

05 来源