…… “古哥古点”强烈建议您点击上方音频来收听节目 ……
《加密的圣经和解密的古兰经》
1969年,法国著名作家乔治·佩雷克创作了一部200多页的小说《消失》。或许你并不曾听过这部小说的名字,但是它在文学界却名闻遐迩,因为从到尾在这本书中没有出现一个含有字母e的单词,而实际上e是法语单词当中也是英语单词中出现频率最高的字母。这位波兰犹太人后裔用舍弃元音e的方式无声的表达着他对战争中失去的母亲的缅怀。而更令人感动的是,英国小说家吉尔伯特·阿尔代尔为了表示对原作者的致敬,在翻译这本书的英文版本时,同样没有使用一个含有e的英文单词。这是一段文坛佳话,但我今天并不是想进行文学赏析,而是要从中引出一个话题:密码。
今天的生活中密码已经无处不在,从网上支付到WIFI使用,从购买车票到预定房间,我们已经习惯于沉浸在一个密码的世界当中。然而很少有人会注意到,回望密码的历史竟是一段荡气回肠的精彩史诗,加密和解密如同进行一场兴衰交替的进化竞赛,在博弈中支撑起了人类文化的独特一面。
乔治·佩雷克
换位的规则非常多。在许多美国的学校里流行过一种叫做“栅栏”的换位加密法,就是把一行文字中的所有字母先按照出现在奇数位置还是出现在偶数位置分成两组,然后把偶数组的字母抽出来直接排在奇数组的字母后面由此形成简单的加密文本。比如china经过栅栏后就变成了ciahn。当然如果你愿意,也可以在此基础上制定更复杂的加密规则。你可以把两层栅栏变成三层栅栏,也可以对每个栅栏组的字母序列进行颠倒排序后再重新组合。总之这些换位规则都是人为制定的。
与此相对,古代的斯巴达人用木棍和皮带发明了一套非常趣的物理换位加密器。这也是最早的半机械加密系统。这其中有一条柔软的皮带,上面沿着皮带走向画出一溜方格,可以用来填写字母。需要加密的时候,把皮带螺旋式的缠绕在一根圆柱形木棍上,这样原来皮带上的一列格子经过多圈缠绕后就形成了横向排列的多列格子。把需要传递的信息字母填入这些格子,当皮带一抖开,字母的顺序就完全打乱了。需要解密的时候,只要找来一根同样直径的木棍,把皮带重新缠绕在上面,原先的内容就被解读出来。
与换位相比,替换式密码出现的更加久远。第一位有记载的使用此类密码的大人物是罗马的凯撒,在他的《高卢战记》中就写明了他如何使用密码通报军事消息的故事。凯撒使用的加密替换规则很简单,就是把每个字母直接用其在字母表上向后数的第三个字母进行替代,以此来产生密文。从此以后用这种用向后移位的方式定义字母替换规则的密码就叫做凯撒密码。
凯撒本人选择向后移动3位形成替换字母表,而你完全可以使用1位、2位直到25位的后移字母表,加密的方式和效率完全是类似的。这样的字母表共计有25种,但这些只占到所有可以用来加密的字母表当中的一小部分。加密字母表并不一定非要通过整体移位来得到,任何一种26字母的排列都可以作为加密字母表,而26字母表的全排列总数将是26!这是一个天文数字,故而对于不知道加密字母表是什么的人来说,想破解替换方式加密后的密码将几乎是不可能的。因为可能的情况太多了。
凯撒密码替换字母表
很容易理解,对于隐藏信息来说起到最关键作用的不是替换方法的原理,而是其中的加密字母表。我们完全可以把替换加密法的操作步骤告诉任何人,只要保护好加密时所用的字母表就能确保信息的安全。这个关键的加密字母表就是我们经常听到的一个概念:密钥。
密钥这个名词很形象,它是打开密码的钥匙。但既然是钥匙就需要经常被传递。信息加密的目的是为了安全的传递内容,解密者和加密者通常不是同一个人,如此一来解密者必须拿到密钥才能解开密码。如果密钥很复杂,则秘钥本身的传递就成了一个问题,反而限制了加密通信的实用性。比如刚才所说的加密字母表就是一种很难记的的密钥,为了传递它,人们可能需要把它写在一张纸上,但这样就增加了纸张被别人截获的风险。因此密钥通常是越简单越易记越好。
仍以刚才所说的加密字母表密钥为例,你大可不必记住整个替换字母表,而只要记住一个关键词就足够了。这怎么可能呢?怎么做到用一个词来取代替换字母表呢?
假设这个关键词是china,利用这个单词可以按如下两步骤形成一个完整的加密替换字母表。
第一步是把标准字母表的前五个字母分别对应到关键词的五个字母上:a-c、b-h、c-i、d-n、e-a;
第二步把标准字母表第六个及以后的字母分别对应到a、b、c…这样一个正常的字母序列上,如果遇到已经对应过的字母就跳过:f-b、g-d、h-e…。
用这种规则就能靠任何一个单词形成一种独一无二的字母替换表,其密钥只有一个关键词,完全可以凭借记忆传递而绝不会被别人知道。到此为止,加密技术的发展看起来很完美,不仅难以破译,而且密钥也简单小巧。所以在整个中世纪,西方世界一直都在使用这样的密码,以至于连神圣的圣经《旧约》中有几页文章也是通过替换方法进行加密的。
这种传统技巧叫做阿特巴士法。它的字母表替换规则也很简单,即头尾相对,第一个字母对最后一个字母,第二个字母对倒数第二个字母,以此类推:a-z,b-y,c-x…。实际上阿特巴士(atbash)这个名字本事就揭示了这种对应规则,a代表希伯来字母表第一个字母alpha,t代表最后一个字母taw,ba代表第二个字母beth,sh代表倒数第二个字母shin。在我们前面的节目中讲过,犹太人为圣经加密并非是为了保密,而只是为了增加其神秘性,但这个习惯却一直延续影响到了整个基督教的欧洲。
在欧洲人心目中,替换的加密方法是极其神秘和有效的,每个人只要在海洋般的单词中找到一个只属于自己的关键词或者设计出一种独特的字母表对应规则,那么密码就根本无法破解。然而他们错了,他们并不知道就在同样的时代里,穆斯林已经找到了替换类方法致命的死穴,而破解的启示恰恰来自于《古兰经》,一种另类的宗教战争就这样发生了。
公元七八世纪刚刚兴起的阿拉伯帝国,一切都在蓬勃的发展。从医学到哲学,从天文到数学。这里有最全的书籍,也有当时最豪华的图书馆。得益于从东方学来的造纸术,几乎周边所有的书籍都被翻译成阿拉伯文发行,巴格达俨然成为当时全世界的科学中心。阿拉伯人当然也懂得使用替换式密码,并且还做了一些改进,把一些非字母的符号引入到密码当中,比如#,+等。但是如果他们仅仅做出这些扩展的话,那就不足称道。真正可怕的是他们掌握了一项新的工具:统计学。
当时阿拉伯哲学家和数学家们正在校对古兰经中穆圣得到的天启,以便鉴定出这些混在一起的语录出现的时间先后顺序。他们发现如果计算出这些话语里不同单词出现的频率,那么根据这些单词在生活中出现的早晚和词频的高低,就能推断出哪些语句比较靠前,哪些语句比较靠后。进一步他们还研究单词的起源变化和句法结构,以验证这些话都出自穆罕默德本人。
正是在这些研究当中,对于密码破译来说最为关键的一项突破出现了。阿拉伯学者并没有停留在单词统计上,他们也开始对字母频率进行统计,而字母频率正是替换式密码的死穴。不管你用什么样的密钥,什么样的替换字母表,经过替换后的字母的频率却不会改变。频率就相当于每个字母的鞋印,不管你多么精心的隐藏鞋子,鞋印却不会消失。1987年,在伊斯坦布尔发现了公元9世纪阿拉伯大哲学家阿尔·金迪的一部伟大著作:《关于破译加密信息的手稿》。书中明确解释了利用字母频率破译密码的简单方法。首先要知道加密文本使用的是何种语言,之后用大量的该语言文本统计其字母出现频率,接着计算出加密文当中各个字母的频率,再根据频率吻合原则两相对应,就能还原替换规则破解密码。
当然这个破译原则并不是百试百灵的,它有个基本前提就是密文的字母频率要和大量自然文本统计出的频率基本一致。如果遇到下面一句话该方法就会失效:From Zanzibar to Zaire and Zambia,ozone zones makezebra run zany zigzags。它的意思是从桑给巴尔到扎依尔和赞比亚,空气清新的地带里斑马总是跑着奇特的之字路线。这个句子中含有大量的字母z,而实际上z是英文字母里出现频率最低的单词,这样的异常就会使破解遇到麻烦。另外对于我们一开始提到的没有字母e的小说《消失》,频率破译法更是无法使用,因为频率最高的字母e在原文中根本不存在。
破译者并没有那么笨,他们知道字母频率在短文中的不稳定性就像鞋印有时会变得模糊一样,并不构成本质上的障碍。他们有大量的手段来获得字母对应的其他线索。比如单字母的词汇a,i的出现就是一种很好的信息入口,还有经常组合在一起呈现的字母序列,或者是有比较固定的前后顺序的字母对儿都可以让他们方便的进行筛选或者排除。鞋印的某一处可能不清楚,但是鞋印的整体结构却不会因此而改变,从清晰的地方入手很快就能恢复出完整的鞋子印记。
阿拉伯人发明的频率统计方法传入欧洲,这让解密和加密的竞赛完全倒向了解密者。当时的密码使用非常普遍,炼金术士和科学家还有商人都用这种方法保护自己的发现。著名的科学家伽利略,他首先用望远镜观察到了金星的相位变化,从而证明了日心说的正确。但是为了保护自己,他只写下了一句密语:“这些东西被我今天不成熟地收获了,遗憾。”(Haecimmaturaame jam frustraleguntur,o.y.)而把这些字母重新排列后才能看懂伽利略的原话:“爱神的母亲采用了狄安娜的相位。”(Cynthiaefigurasemulaturmater amorum)爱神的母亲就是金星维纳斯,而狄安娜则代表月亮。
又比如著名的达芬奇密码,雅克·索尼埃馆长的遗言是:“O, Draconian devil! Oh, Lame Saint!”他的意思并非字面上的“哦,严酷的魔王!哦,瘸腿的圣徒!”你必须把打乱的字母重新排列后才能明白这位馆长的话是什么意思。
在这里,我们把这条密码的破译作为互动内容,留给感兴趣的朋友。我们将在下一期节目中说明这位馆长的遗言究竟是什么!
以上两个故事都是采用换位加密的例子,不过换位和替换的破解原理大体相似,在当时这两种加密方法经常组合在一起使用。
进入文艺复兴时期的意大利各个城邦为了商业竞争都设置了破译中心,甚至出现了破解密码的明星。1506年,乔瓦尼·索罗被威尼斯任命为密码破译助理,并且很快成了整个意大利的顶尖破译高手。各个城邦甚至于教皇都把破解任务委托给索罗。1526年,有一天教皇的加密信息被佛罗伦萨人所截获,教皇担心佛罗伦萨人会把密码交给索罗破译,于是自己先把复本送到了威尼斯,想试探一下索罗能否解密。结果索罗谦卑的声称教皇的信息太神圣破解不了,教皇非常得意。然而后人通过推断认为这正是索罗的狡猾之处,他并不是破解不了教皇密码,而是通过这样一次故意宣称的失败,换取梵蒂冈继续安心使用此前的密码,而他就可以源源不断的接到新的订单。这个伎俩一直到一战和二战时都还被英国人反复的使用着。在下面我们将会讲到。
意大利的成功让法国也开始建立自己的密码破解中心,当时法王聘请费力波特·巴布作为自己的密码专家。可是这位国王实在不厚道,他利用人家这位痴迷于密码研究的学者夜以继日的工作的当口搞定了他的妻子。看起来,大家需要提防的可不只是经纪人。(宝强,你要坚强!)
西班牙国王腓力二世
到了十六世纪,法国的密码破译水平已经非常之高,邻国的西班牙因此屡屡吃亏。西班牙人当时并不懂得密码破译的原理,他们还以为法国的所谓密码专家弗朗西斯·维特是一个魔鬼,西班牙国王腓力二世不惜为此专门跑到教皇那里告御状,请求红衣主教法庭将维特认定为邪恶的魔鬼。可是这次教皇没有糊涂,因为他自己就是一个密码破译机构的大客户,懂得其中没有什么奥妙,只不过需要一点技巧罢了。
加密和解密的斗争就这样持续着,传统密码的弱势一直延续到了一个千古悲剧来临时达到了顶峰,而与此同时一项全新的加密技术的变革开始了。关于这一切我们都要从全欧洲最美丽的女王说起。
往期精彩内容:
2.任正非最新采访:区块链在量子计算面前一钱不值;美国断供就是其他国家替代的机2会窗(金句频出)
喜欢文章,就给个好看哦
原文始发于微信公众号(商密君):密码传奇(一)密码学上的另类宗教战争
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论