数学中国

 找回密码
 注册
搜索
热搜: 活动 交友 discuz
查看: 8479|回复: 0

太平洋中的干货:密码

[复制链接]
发表于 2021-6-8 09:23 | 显示全部楼层 |阅读模式
太平洋中的干货:密码

罗杰  开门胡先笙  2020-02-22



太平洋战争已经过去快80年了,当我们翻开那段历史,心情也会随着这段历史起起落落。PAGE SEVEN 胡先笙以音频的方式,为大家讲述了密码贯穿的太平洋战争:从偷袭珍珠港,到珊瑚海海战、中途岛海战,最后到瓜岛、硫磺岛战役。

下文是对音频内容的补充,重要补充,全都是密码干货,强烈建议不要继续阅读,除非你对密码有强烈兴趣。

一、紫色密电码

日本外交部在第二次世界大战中使用紫色密码与其在华盛顿、柏林、伦敦等世界范围内的大使馆、领事馆进行信息通信,这些信息不仅包括一些日常的外交信息,也包括一些非常重要的谈判信息,同时日本与德国在交换欧洲战场局势与意见的时候,也是利用紫色密码进行通信。因此能否破解紫色密码对于美国能否掌握主动权至关重要。

与德国的恩尼格玛机类似,紫色密码机也由三部分组成。其中第一部分就是输入装置,即键盘。紫色密码机的键盘被设计成可以输入3种语言的字母表,包括英语、拉丁语以及罗马字母化的日语。其中比较特殊的一点是,紫色密码机将26个字母分成了两组,一组是6个元音字母,另一组是20个辅音字母,这两组字母采用了不同的加密算法。第二部分就是加密装置,这一部分与德国的恩尼格玛机有着较明显的区别,恩尼格玛机采用的是机械的轮转式加密,而紫色密码机采用的是电气化的步进开关加密,这个步进开关指的是利用一系列的电脉冲将一路输入信号传导至另外一路或多路信号上去,最早被用于电话系统中的电路交换,后来被日本用来作为其加密机的核心部件。一个步进开关利用一块通电磁铁将1个输入端口和25个输出端口连接起来,同时通过电脉冲信号改变输入和输出端口的连接状态,以达到多表加密的效果。



紫色密码机使用了4个步进开关,其中三个开关用于加密20个辅音字母,这时的加密矩阵就有25*25*25=15625行大小,而剩下的一个用于加密6个元音字母,这时加密矩阵就只有25行的大小,这无疑降低了紫色密码机的安全性。


图中红色线条表示辅音字母的加密过程,蓝色线条表示元音字母的加密过程。

同时,和恩尼格玛机类似,紫色密码机为了增加加密矩阵的大小,也在输入装置与步进开关之间采用了插线板的装置,用于进行字母对换,如果一个辅音字母被替换成了元音字母,则在步进开关处就按元音字母的方式进行加密。第三部分是密码输出装置,与恩尼格玛机不同,德国的恩尼格玛采用的是以指示亮灯的方式,由操作人员记录密文,而紫色密码机直接使用了打印装置,将密文直接打印出来,减少人为失误导致的信息偏差。由此可见紫色密码机的电气化程度较恩尼格玛机更高,但由此带来的结果就是它的体积和重量都比恩尼格玛机大了很多,不能在战场上方便携带,因此只在外交部使用。

紫色密码机的使用方式也和恩尼格玛机类似,操作员首先也需要有一个统一的密码本去设置插线板的连接,然后固定4个步进开关的初始状态,接下来操作员只需要在输入键盘上输入明文,剩下的事情就可以全部交给机器做了。

我们再将目光投向美国一方。想要破解紫色密码的第一步是搜集尽可能多的原始密码。这一点听上去似乎不太难,但要知道,这么重要的密码只有在传达最重要的信息时才会使用,因为日本人也知道原始密码被截获得越多,就越有可能被破解,因此在最初的时间里,美军截获的紫色密码相当少,根本不足以从中发现线索。直到后来美军在太平洋上连续不断地监听无线电传输后,使用紫色密码加密的密文才逐渐增加。当有足够多的密文后,

第二步就是从中找出加密方式。这一过程美国走得比欧洲曲折很多。美国不像波兰那样,从一个德国叛徒手中买到了恩尼格玛地全部信息。但幸运的是,美国在早些年破解的红色密码,给他们提供了一些线索,由于紫色密码是红色密码的改进,因此它们之间有很多相似之处。另外,美军也通过一些间谍活动获取了日本海军的一些会议记录,这些记录给美军提供了日本军方的书写格式,开头、结尾地敬语,以及用词特点等信息,譬如,他们经常以“我很荣幸地通知阁下……”开始。这就是图灵用于破解恩尼格玛机地“Cbribs”,美军同样也利用了这些线索。同时,日本人有时将同样的内容分别用红色密码和紫色密码分别加密,各发一遍,此时,美军就可以将紫色密码的密文和明文拿来进行对比分析。终于美军的密码分析师成功地找到了紫色密码的加密关键。这里的主要功臣一个是开始提到的弗里德曼,他的工作几乎可以用鞠躬尽瘁,死而后已来形容,在连续奋战了18个月之后,他患上了严重的精神疾病,不得不提前退休,但他的成果保留了下来,继续为后人提供帮助。战后负责美国通信安全的国家安全局(National Security Agency, 简称NSA)为了纪念弗里德曼在该局的“密码博物馆”中给他树立了一座雕像。另一位工程就是弗兰克·罗烈(Frank Byron Rowlett),他本是数学老师,后来被弗里德曼招入进信号情报局,成为一名初级密码员,但他很快展现出在密码破解上的天赋,他不仅协助弗里德曼破解了红色密码,同时也为美国当局制造了一台军用密码机SIGABA,这台机器与恩尼格玛一样,采用了轮转式加密,但它有15个转轮,安全性更高,在二战期间从未被破译过。为了纪念罗烈对美国通信安全做出的重要贡献,美国信息系统安全组织设立了它的最高荣誉奖——弗兰克·拜伦·罗烈奖。1940年8月美国信号情报局成功制造了8台紫色密码机地仿制品。至此,如果能拿到加密的密钥即机器的初始设置,美军就能重复紫色密码机得加密和解密过程。

第三步就是最关键的获取密钥。这时一位名叫弗朗西斯.雷文的中尉有了一种重要发现,他首先发现日军一个月中使用的密钥被分成了3组,也就是说,一个月被分成了3组,每组10天,虽然一组中的10天里使用不同的密钥,但组与组之间的密钥是相同的。接着他还发现了10天中的第1天的密钥与接下来的9天的密钥是有关联的,第1天的密钥将在余下的9天中接连出现,只是顺序被打乱了,因此只要知道了第一天的密钥,就可以知道这一组的密钥。即便如此,美军的密码分析师还是花了很大力气去破解第一天的密钥。最终,当美国政府得知他们已经破解了紫色密码时,非常高兴,将信号情报局的工作称为“魔术”,因为这不仅意味着美国掌握了日本绝大部分的外交情报,这其中就包括日本的整体战略计划、谈判筹码,同时还有德国在欧洲战场的军事计划,这都是源于日本当局与希特勒通信时,采用的就是紫色密码。

值得一提的是,有许多人也在质疑美国政府既然已经破解了紫色密码,得到了日本的战略计划,那为什么还会发生日本偷袭珍珠港这样的事件。其中最重要的原因是日本军队在保密工作上做得非常出色。当时的日本政府在战前已经有很大程度上被日本军队所控制,因此象偷袭珍珠港这种机密的行动,就连他们自己的外交部也不知道,同时就在偷袭当天,日本军队还要求所有的参战部队保持无线电静默状态,直至战斗打响。但是即便这样,美国仍然能从其他的线索中发现一些蛛丝马迹。例如,在日军偷袭珍珠港的前一周,日本驻外机构都收到了一条指令,要求销毁他们的紫色密码机,同时销毁的还有所有的秘密文件,以防被外国人得到。这一举动有着强烈的暗示,日本将打破协议,发动战争。因为日本人也清楚,他们想要战胜美国,唯一的可能性就是尽其所能,发动突然袭击,消灭美国的有生力量,占据主动。也许正是因为这些暗示,才使得美国的所有航母躲过了珍珠港一劫。

二、JN-25密码

当然,美国取得太平洋战场上的胜利关键并不完全在破解紫色密码,因为紫色密码只在日本外交部使用,而日本海军使用的是JN-25密码。正是因为美军破解了JN-25密码,才使得美国赢得了中途岛海战,进而取得了太平洋战场的全面胜利。

日本海军使用的JN-25是一种基于字典的加密。发送者在发送时,将明文按照一定的规则替换成密码本上的数字或字符,接收方也必须有同样的密码本才能进行解密。当然得到的密文还可以再进行一次替换加密,这样就被称为超级加密。一个典型的JN-25的加密方式就包含两个密码本,一个称之为“密码本”(Code Book),用于将明文字母或短语替换成一个5位的数字;另一个称之为“附加本”(Additive Book),用于将前面得到的数字结果再次进行不进位加法运算进行加密。



其实这种密码的安全性并不高,它完全依赖于密码本的安全性,因此日本海军采取了经常更换密码本、使用超级加密等方式进行改善。但是这种密码有个致命的缺陷,就是使用“附加本”进行的不进位加法运算,这是一种可逆的运算啊。因此完全可以进行倒推。例如:密文=明文+附加码(这里的明文指进行一次替换后的5位数字密码),那么附加码=密文-明文。而密文的开始第一个数字就是附加码的部分信息,因此只要知道一条信息的明文,就可以用密文直接采用不带去位的减法减去明文,就得到附加码的信息了,而这又可以被利用去破解其他的未知信息,如此循环下去。

虽说这种密码的技术含量不高,但由于日本海军的密码本实在是太大,其中包含了9万个单词和短语,因此还是耗费了美军相当的力气。他们大量使用IBM的打孔式分拣机来查找使用特定附加本的信息。最终他们得到一个规模庞大的分拣卡片目录。

1942年5月,美军截获到日军的一组密文,其内容是关于一次即将发动的进攻,但目标被加密成“AF”,由于在JN-25的密码本中地点是另外使用其他码组进行加密的,因此美军并不确定这个“AF”指的是哪个地点。只是推测是太平洋上的一个目标,而且很可能是中途岛。因此美军太平洋舰队的无线情报分队设计了一个圈套,因为他们知道美国在珍珠港与中途岛的海底电缆正在被日军监听,因此他们于5月19日索性就通过这条电缆发了一条明文电报给总部,报告中途岛的海水淡化系统出现故障。果不其然,5月21日美军截获日军的电报,称AF方位缺乏淡水。可以说,中途岛海战从一开始,美军就占据了绝对的情报高地,这也成为美军胜利的基石。

三、国军对日本密码的破译

1938年9月-1940年7月,蒋介石高薪聘请了一位密码专家到重庆担任军统局顾问,培训密码破译学员,参与组建军统密码破译机构,与日本人展开了鲜为人知的密码战,他被称为“中国抗战秘密战线的第一外援。”同时,他也是有着“美国密码之父”称号的赫伯特·雅德利。他是世界上最伟大的破译密码的专家,在1917年至1929年之间,他领导“美国黑室”(美国国家安全局的前身)用纯手工的办法成功破译了4.5万封其他国家的密码电报。他曾说:“我一向认为,某个人能办到的事情,别人也能办到。”后来,这句话成为密码学上的箴言。以下故事,摘抄于他的作品《中国黑室》

“1939年5月,重庆遭到日军的疯狂轰炸,而日军的每一次轰炸时间都抓得非常好,因此军统怀疑是重庆内部有间谍,同时也锁定了可疑的对象,但截获的密文,无论怎么努力,都无法破译。这些密码全是4 个数字一组,如1349、5727、7234 等等。分析表明,编码方式很可能每天都不一样。如果同一组数字在一天之内反复出现,表明这组数字代表某一个常用汉字,那么在之后的日子里,这组数字往往再也不会出现。密钥似乎每天都在变化,那么,怎样才能破译这些电报呢?”

中文电报的特殊之处在于,即使最简单的内容也得译成电码才能发报,因为中文跟英文、德文、俄文等文字不同,无法分解为字母,也无法像日文那样用假名表示。即使丈夫用中文给妻子发个“明晚到达”的电报,也得先译成电码才能发出去。发报人要去电报局,找一本包含1 万个汉字的公用电码本,把自己的电报内容译成电码。电码本其实就是一部收录了1 万个常用汉字的中文辞典,0000 代表第一个字,0001 代表第二个字,0002 代表第三个字,以此类推,直到9999。发报人把电报里的文字代换成这些数字,交给发报员发往目的地,收报人再将程序颠倒过来,把数字还原成文字。

尽管这个间谍也在使用同样的电码本,但他将电报译成电码后可能会对数字进行改变。例如,电报第一个字对应的电码可能是9345,但他或许会把它变成1748,这样,在电码本中找到1748 对应的汉字时,就毫无意义了。





看完了的朋友,要么是智者,要么是勇士,钦佩你!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|数学中国 ( 京ICP备05040119号 )

GMT+8, 2024-3-29 19:36 , Processed in 0.089844 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表