“恩尼格玛密码机,对吧?我看德维特本子上有这玩意。”宋河说。
“对,不过在讲复杂密码之前,先讲俩简单的,这样可以按密码学历史进程给你讲。”
相晓桐起身,从枕头旁拿起德维特密码本,迅速翻页。
“你看这一页,注意每个字母大小。”相晓桐翻开一页递过来。
宋河认真端详,哦了一声,“个别字母写的略大一点!”
“针刺加密法的变式,最早是古希腊伊尼厄斯提出来,写一段无关紧要的话,在特定字母下方用针刺一个小洞,收信人把带小洞的字母连起来,就能得到信息。”相晓桐解释。
宋河把略大的字母连起来读,果然就是明文。
“十九世纪,大不列颠的邮件系统很贵,每封信邮费是1英里1先令,普通老百姓压根付不起。但有个漏洞,递送报纸免费,当时的大不列颠民众就用针在报纸上找字母刺,拿到邮局去,一分钱不花完成投递。”
“咱们古代有一个类似手段,折痕密码法,把一张纸先横竖对折几下,展开,在折痕交界处写情报,写完之后再前后拓展一些诗词或者无意义的话,把关键字淹没。”
宋河点头表示懂了,他翻翻德维特密码本,发现针刺密码法记在恩尼格玛密码后面。
看来德维特并非按从易到难顺序写,很难说哪页的密码难,哪页的密码简单。
“往后翻一页。”相晓桐说,“一战汉斯国用的adfgvx密码,替代法和移位法综合,两层加密,有一个钥匙单词,把要传递的明文一行行写在钥匙单词底下,然后把钥匙单词调整成字母表顺序,底下跟着变,明文形成密文。”
宋河抓过一张打草纸,“我试试,你看是不是这样?假设钥匙词是春眠不觉晓!”
【钥匙:春眠不觉晓】
【情报:敌军五万人】
“然后春开头是c,眠m,不b,觉j,晓x,按照字母顺序排就是……不春觉眠晓!”宋河快速写。
【钥匙排序:不春觉眠晓】
【最终密文:五敌万军人】
“对,你这是第二步加密,第一步类似于维吉尼亚密码,有一个密码表,比如敌军五万人,可能会在第一步的密码表里加密成,然后按你这流程二次加密就变成,收到信的人再根据钥匙词和手里的密码表去解。”
宋河想了想,“我有个问题,为什么叫adfgvx密码?”
“这一串字母分别是密码表的列名,至于为什么选它们做列名,是因为当时用无线电了,无线电里面这几个字母的点线相似性最低,能降低发报员误操作风险。”相晓桐解释。
“密码特征和传播技术息息相关。”宋河恍然。
“对,你悟出了很重要的一点,记住这一点,后面会用到。”相晓桐肯定道,“adfgvx密码也不安全,高卢有个叫乔治·邦梵的密码专家,以暴瘦三十斤的代价把它破解了。”
宋河认真看看密码本,“确实容易破解。”
“到这里有个历史事件,堪称密码学颠覆世界格局的代表性事件。”相晓桐话锋一转。
“愿闻其详!”宋河感兴趣,哪个学生不喜欢老师上课时讲点小故事呢?
“1915年,汉斯国潜艇把一艘露西塔尼亚号邮轮给打了,死掉近一千两百人,死者有一百多个灯塔国人。汉斯国再三保证,今后潜艇攻击前会先浮到水面上看看,避免误击无辜民船,于是灯塔忍了,没因此参战。”
“但很快,汉斯国军官劝皇帝,废除之前的潜艇上浮保证,因为当时反潜技术还没起步,潜艇在水下发射鱼雷,几乎不会遭受攻击。”
“军官们保证,只要允许潜艇肆无忌惮攻击,可以在六个月内封锁大不列颠,迫使大不列颠饥荒投降。”
“皇帝签字同意了,但有个顾虑,潜艇肆无忌惮乱打,必然频繁打沉灯塔国民船,很容易激怒灯塔,引来宣战。”
“所以,必须在灯塔动员军队参战之前,尽快把欧洲的仗打赢。为了胜利稳固,皇帝让齐默尔曼在外交方向努力。”
“齐默尔曼的外交计划是,和仙人掌国结盟,重金怂恿仙人掌国入侵灯塔,收复得州、新仙人掌州一带的失地。同时,齐默尔曼希望仙人掌国再去怂恿东瀛,让东瀛也在太平洋同时入侵灯塔。”
“如此一来,灯塔自顾不暇,汉斯国就可以荡平欧洲,计划非常完美。”
“好家伙,这哥们儿真是敢想敢干!”宋河微微吃惊,他头一回听说这段历史。
“但是,情报传递上出了岔子。”相晓桐继续讲。
“最初汉斯国是通过海底电缆来跨洋通讯,但大不列颠派了艘军舰,偷偷摸摸把汉斯国的海底电缆给剪了。没辙,齐默尔曼只能靠加密电报来传递消息。”
“无线电很容易拦截,大不列颠拦截到了齐默尔曼的加密电报,轻易破解开密文,得知了结盟入侵灯塔的计划。但大不列颠没把消息告诉灯塔,因为担心灯塔公开谴责汉斯国,这样汉斯国就知道密码被破译了,会升级密码系统。”