千年密码史: 人类共同的秘密

文章正文
发布时间:2024-10-08 07:42

  码学是一门既古老又新兴的学科。从古代希腊战争中的密码到中国古代的虎符,密码的应用在古代人类历史上发挥了重要的作用。密码学作为一门科学,是怎样发展的?

 

密码为什么叫密码?

  

  密码之所以叫密码,流传着这么一个故事。

  公元前405年,伯罗奔尼撒战争已接近尾声,雅典和斯巴达打了多年两败俱伤。此时,一直觊觎希腊这块肥肉的波斯帝国正蠢蠢欲动。斯巴达急需摸清波斯帝国的具体行动计划,以便采取新的战略方针。刚巧,斯巴达军队捕获了一名从波斯帝国回雅典送信的雅典信使。斯巴达士兵仔细搜查,并未在信使身上发现什么书信,只有在他的腰带上发现了一些仿佛天书一般杂乱无章的希腊字母。这是个啥东东?怎么每个字母都认识,可是合起来却不知道它在说啥?

  斯巴达军队统帅莱山德绞尽脑汁,几乎把这些字母的排列组合都想了个遍,也没把这句句子给捋顺。当时他就抓狂了,敌军的秘密就在自己手上,可是自己就是解不开这个谜。这什么感受?就好像一头活羊就落在一只饥肠辘辘的斑斓猛虎面前,可是猛虎刚掉了牙齿,无福消受。怎一种酸爽的感觉了得?

  幸好,莱山德运气还不坏,就在他把腰带呈螺旋形缠绕在手中的剑鞘上把玩时,奇迹出现了。腰带上那些杂乱无章的字母,竟组成了一段文字,说的是波斯军队准备在斯巴达军队发起最后攻击时,突然对斯巴达军队进行袭击。

  世界上第一份密码信就这样给运气好到爆的莱山德给破了。此时莱山德知己知彼百战不殆,斯巴达军队根据这份情报马上改变了作战计划,先是大破不可一世的波斯军队,继而挥师雅典,取得了著名的伯罗奔尼撒战争的胜利。

  这个故事很出名很有市场,但是它是真的还是假的呢?我们认为八成是假的。为什么?因为事实上,和波斯结成联盟的不是雅典,而正是斯巴达!

  雅典虽然在小亚细亚沿岸及黑海海峡附近的海战中数度取胜,但斯巴达却得到波斯资助再建海军。公元前405年斯巴达将雅典180艘舰船诱入赫勒斯滂海峡,突然袭击,这一战,雅典舰队全军覆没,标志着雅典海上霸权丧失殆尽。雅典方面怎么可能派人给波斯送这样一份密信呢?而且波斯人又不懂希腊语。

  连年征战让繁荣富强的希腊从此一蹶不振。波斯帝国得以插手希腊各邦的事务,胜利者斯巴达成为希腊的霸权国。公元前408年后,波斯王子居鲁士出任小亚总督,斯巴达任命莱山德担任海军统帅。莱山德亲赴萨尔迪,面见居鲁士,讨得他的欢心,得到了1万大流克的资助。莱山德就用居鲁士的钱,提高服役水手的薪金,把许多水手从雅典人的舰队拉到了自己这边来,最终击败雅典。只是斯巴达的霸权没有维持多久,最终被希腊北部的马其顿王国征服。

  所以,传说只是个传说,不过,密码学(Cryptography)这个词实际上是希腊文Kruptos(hidden)和graphein(towrite)合在一起的组合,现代准确的术语为“密码编制学”,简称“编密学”,与之相对的专门研究如何破解密码的学问称之为“密码分析学”。密码的英文cryptogram,是希腊文Kruptos和词根gram(同样是towrite的意思)的组合,这是不是莱山德密码故事的一个源头呢?

  

最重要的密码

  

  密码最开始的用处自然就是克敌制胜,到二战时期,登峰造极,密码扮演了举足轻重的角色,许多人认为同盟国之所以能打赢这场战争完全要归功于二次大战时所发明的破译密文数位式计算机破解了德日密码。

  1918年,在德国,密码大神亚瑟·谢尔比乌斯制造了第一台非手工编码的密码机——ENIGMA密码机(恩尼格玛编码机)。“ENIGMA”,意为“谜”,这台机器,又称“狮身人面”。直到第一次世界大战结束为止,所有密码都是使用手工来编码的。而ENIGMA密码机的出现改变了这种状况,ENIGMA看起来是一个装满了复杂而精致的元件的盒子。不过要是我们把它打开来,就可以看到它可以被分解成相当简单的三部分:键盘、转子和显示器。

  键盘一共26个键,键盘排列接近我们现在使用的计算机键盘,但没有标点符号。键盘上方就是显示器,它由标示了同样字母的26个小灯组成,当键盘上的某个键被按下时,和此字母被加密后的密文相对应的小灯就在显示器上亮起来……

  使用“ENIGMA”通信时,发信人首先要调节三个转子的方向(而这个转子的初始方向就是密钥,是收发双方必须预先约定好的),然后依次键入明文,并把显示器上灯泡闪亮的字母依次记下来,最后把记录下的闪亮字母按照顺序用正常的电报方式发送出去。收信方收到电文后,只要也使用一台“ENIGMA”,按照原来的约定,把转子的方向调整到和发信方相同的初始方向上,然后依次键入收到的密文,显示器上自动闪亮的字母就是明文了。加密和解密的过程完全一样,这就是反射器的作用,同时反射器的一个副作用就是一个字母永远也不会被加密成它自己,因为反射器中一个字母总是被连接到另一个不同的字母。

  “ENIGMA”型机能产生220亿种不同的密钥组合,假如一个人日夜不停地工作,每分钟测试一种密钥的话,需要约4.2万年才能将所有的密钥可能组合试完,反正就是老复杂了。

  对于潜艇作战尤其是德国海军的“狼群”战术来说,无线电通信是潜艇在海上活动获取信息通报情况的最重要的手段,而“ENIGMA”密码机则是关乎整个无线电通信安全的设备,其重要性可想而知。

  耗资6200万的美法合拍超级大片《猎杀U-571》讲的就是美国海军派出本国潜艇伪装成德军维修舰去抢夺因战斗受损上浮的德国潜艇U-571上的通信密码解码机,以期破解德军的密码通信的故事。美国大片的讲述当然要为美国人脸上添光,事实上,是法国人而不是美国人第一次接近“ENIGMA”编码机。

  美国前情报人员欧内斯特·弗克曼在他的《间谍图文史:世界情报战5000年》中写:在比利时的一个小村庄,德军最高统帅部的密码员提罗·施密德第一次与法国人秘密会面,这时他拿出了恩尼格玛编码机的使用说明书,还有编码机加密系统的一些技术文件。法国情报人员看得目瞪口呆,施密德想要的是钱,法国人为此支付了首付款1万美元(约合现在的20万美元)现金。

  与法国并肩作战的还有波兰、美国和英国。英国的代号为ULTRA 的行动,被温斯顿·丘吉尔称为“下金蛋的鹅”。1940 年,ULTRA 行动组开始破译出由恩尼格玛编码机发报的高级别信息。从理论上说,一台恩尼格玛编码机能够生成的可能排列数量是3×10114,这是一个令人头晕目眩的数字。但是不管这个数字有多大,它总是有限的。

  为了破解德国人的密码,他们制造了一台解密机,这是个庞然大物,它有7 英尺(约2.1 米)长,6 英尺(约1.8 米)高,重量超过1吨。机器启动时,它那数以千计的真空管、滑轮和电磁传动装置,就开始“哗啦啦”地工作,响声就像是科学小说里描写的科学怪物。没错,这就是世界上第一台计算机!

  有了计算机这样的神器你觉得德国人还有打赢的可能性吗?太平洋战争中,美军成功破译了日本海军的密码机,读懂了日本舰队司令官山本五十六发给各指挥官的命令,在中途岛彻底击溃了日本海军,击毙了山本五十六,导致了太平洋战争的决定性转折。

  “ENIGMA”到最后还是没能挽救纳粹德国的命运,这说明什么?邪不胜正!这才是放之四海而皆准的宇宙真理。

 

中国古代的密码

  

  中国古代也有密码。“符”字本义是指古代朝廷下命令的凭证;“竹”字偏旁表明最早的“符”是用竹子做的;“符”一般来讲使用时一分为二,验证时合二为一;这就是我们常用的词语“符合”的来历。

  西周的兵书《六韬》中阴符和阴书是中国早期系统阐述密码学的著作。“阴”指“机密”,“符”指“符号”,也有编码的意思,“书”指“信件”或“文件”。所以,字面上的意思,“阴符”和“阴书”就是“密码”或“密文”。其中“阴书”的加密方法是整体加密,只有获得全部文字信息才能看懂其中的内容。

  《龙韬·阴符》开篇就记述了阴符的种类。当武王向太公请教,遇到战事紧急情况军队要保持保持密切的联系应该怎么办时,太公就回答说要用阴符。

  阴符共分八种,每一种之间差一寸。

  一种长一尺,表示大获全胜,摧毁敌人;一种长九寸,表示攻破敌军,杀敌主将;一种长八寸,表示守城的敌人已投降,我军已占领该城;一种长七寸,表示敌军已败退,远传捷报;一种长六寸,表示我军将誓死坚守城邑;一种长五寸,表示请拨运军粮,增派援军;一种长四寸,表示军队战败,主将阵亡;一种长三寸,表示战事失利,全军伤亡惨重。如奉命传递阴符的使者延误传递,则处死;如阴符的秘密被泄露,则无论无意泄密者或有意传告者也处死。只有国君和主将知道这八种阴符的秘密。这就是不会泄露朝廷与军队之间相互联系内容的秘密通信语言。敌人再聪明也不能识破它。

  我们熟悉的虎符就是阴符的一种。虎符是用青铜或者黄金做成伏虎形状的令牌,劈为两半,其中一半交给将帅,另一半由元帅或大将保存,只有两个虎符同时使用,才可以调兵遣将,为中国古代帝王授予臣属兵权和调发军队的信物。虎符最早出现于春秋战国时期,盛行于战国,秦、汉时期传世的有秦新郭虎符等。陕西历史博物馆藏有一枚从西安西郊发现的虎符,据考证是公元前475至公元前221年的战国文物,称为秦代错金“杜”字锏虎符,高4厘米、作猛虎疾奔状,象征军威和进军神速。虎符的身上刻有嵌金铭文40字,记述调兵对象和范围,制作极为精巧。

  

民间使用的密码

  

  密码是个奇特的存在,不仅可以用于军事,民用领域也用处多多。

  1844年,萨米尔·莫尔斯发明了莫尔斯电码:用一系列的电子点划来进行电报通信。电报的出现第一次使远距离快速传递信息成为可能。20世纪初,意大利物理学家奎里亚摩·马可尼发明了无线电报,让无线电波成为新的通信手段,它实现了远距离通信的即时传输。

  1949年仙农的《保密系统的通信理论》成为近代密码学建立了理论基础。密码学曾经长期是军队独家专有的领域。美国国家安全局以及苏联、英国、法国、以色列及其他国家的安全机构已将大量的财力投入到加密自己的通信,同时又千方百计地去破译别人的通信的残酷游戏之中,面对政府,个人既无专门知识又无足够财力保护自己的秘密。

  1976年,当时在美国斯坦福大学的迪菲和赫尔曼两人提出了公开密钥密码的新思想,不仅加密算法本身可以公开,甚至加密用的密钥也可以公开。但这并不意味着保密程度的降低。因为如果加密密钥和解密密钥不一样,将解密密钥保密就可以了。这就是著名的公钥密码体制,也就是俗称的不对称加密方式。在这里,钥匙被分为两个部分:

  一把私有的钥匙,仅有用户才拥有。

  一把公开的钥匙,可公开发行配送,只要有要求即取得。

  公钥,就是给大家用的,你可以通过电子邮件发布,可以通过网站让别人下载,用来加密/验章。私钥,则是自己的,必须非常小心保存,最好加上密码,私钥用来解密/签章。公钥与私钥的作用是:用公钥加密的内容只能用私钥解密,用私钥加密的内容只能用公钥解密,这实际上就使得加密的程度更高。

  密码现在已经成了普通公民自我保护的一种工具,可是很多人似乎并不在意。以色列安全公司Imperva发布研究报告称,尽管安全专家反复提醒,但仍有近五分之一的网络用户使用诸如“abc123”、“iloveyou”或是“password”之类的简单密码保护数据。在所有用户使用的简单密码当中,“123456”是最常用的密码。Imperva首席技术官阿米亥·舒尔曼说:“我猜这可能是人类中的一个基因漏洞。早在上世纪90年代,我们就已对同样的课题进行追踪。”你说,设个“12345”做密码,和公开说“来黑我”有什么区别?