从人类社会的发展历程来看,文字出现不久就有了使用密码的萌芽。密码学的发展和使用几乎贯穿了人类文明的整个过程。密码学最早的系统性应用是在军事领域。到了中世纪,阿拉伯人已经在国家的事务中广泛使用密码。欧洲在文艺复兴运动之后,开始出现具有现代意义的外交活动,外交官与其各自的政府需要通过公共邮政系统交换机密情报,密码学从此在外交领域获得了极为广泛的应用。
古代的保密通信和身份认证方法与其说是一门科学,不如说更像是一门艺术,它们不但反映出了古人高超的智慧和想象力,而且蕴含了现代密码学思想的萌芽。
1.密码学的开端
在埃及出土的一块约公元前1900年的墓碑上,一段描述一位古埃及贵族一生事迹的文字,被西方密码学家认为是密码学的开端,因为其中的一些常用字符被几个少见的字符所替代,就如同密码学中被称为“替换法”的加密方法。实际上这段文字的镌刻者并不是为了加密文字,只是出于对死者的尊重和追求密文表达的艺术性。
2.密码学在中国古代军事中的应用
从古至今,军事始终是密码使用最为频繁的领域。正如《孙子兵法》中所言:知己知彼,百战不殆;不知彼而知己,一胜一负;不知彼不知己,每战必殆。战场上信息的传递和收集能在很大程度上决定战争的胜负。中国古代有着丰富的军事实践和军事理论,其中不乏巧妙、规范和系统的保密通信和身份认证的方法。
西周开国功臣姜子牙所著的兵书《太公兵法》中,以周文王和周武王与太公问答的形式阐述军事理论,其中《龙韬·阴符》篇和《龙韬·阴书》篇,便讲述了君主如何在战争中与在外的将领进行保密通信。《阴书》中的加密方法并非逐字加密,而是整体加密,即只有获得全部的文字信息才能看懂其中的内容,这与现代密码学的秘密共享技术非常类似。
北宋仁宗时期官修的兵书《武经总要》成书于1040年—1044年,该书前集第15卷中有“符契”“信牌”“字验”三节,主要讲述军队中的秘密通信和身份认证的方法。其中“符契”和“信牌”用于进行传信人身份和信息准确性的验证,而用于秘密传送军情的“字验”更像是一种加密方法(事先约定好40种军情,然后用一首有40个不同字的诗的每一个字对应一种军情)。传送军情时,写一封普通的书信或文件,将其中的关键字旁加印记,将军们收到信后找出其中的关键字即可查到该字所要告知的情况。这种方法与近代借助密码字典进行秘密通信的原理相同。
3.密码学在西方古代军事中的应用
密码学在西方古代军事中的发展和应用也由来已久。约公元前700年,古希腊军队便使用一种叫作“Scytale”的密码棒来进行保密通信,如图1-1所示,它也许是人类最早使用的文字加密、解密工具,据说主要是古希腊城邦中的斯巴达人在使用,因此也被称为“斯巴达棒”。斯巴达棒的加密原理属于密码学中的“置换法”加密,因为它通过改变文本字母阅读的顺序来达到加密的目的。
●图1-1 Scyta|e密码棒
公元前100年左右,古罗马军事统帅凯撒发明了一种把所有字母按照字母表的顺序循环移位的文字加密方法,被称为“凯撒加密法”。凯撒加密法将字母按照设定的移位量进行替换,如规定字母表顺移3位,那么字母“a”便被替换成了字母“D”,字母“b”便被替换成了字母“E”……利用这种加密方法,单词“hello”就被加密为“KHOOR”。解密时,只需要把所有字母逆向顺移3位即可。从密码学的角度来看,凯撒加密法属于“单字母表替换”加密,而且加密规则非常简单。实际上, 直到近代以来很长时间,世界上所使用的加密方法大多都是“字母表替换”的方法, 只不过替换的规则越来越复杂。
上述方法都是可以手工进行加密和解密的,因此称为手工古典密码。
第二次工业革命将全球带入电气时代,第二次世界大战又推动了加密通信的发展。在此期间,密码学的发展超过了以往任何时代,无论密码学技术、理论还是应用层面,都发生了革命性的变化: 在密码技术上,基于机械和电气原理的密码装置取代了传统的手工密码,极大地提高了加密的效率、破解复杂度;在密码理论上,密码分析与破解过程中大量使用了数学和统计学知识,数学家们开始取代语言学家成为密码战场的主力军; 在密码的应用上,各国纷纷研制和采用最先进的密码设备,建立最严格的密码安全体系。盟军把通过破解密码所获得的情报称为“超级情报”,其重要性甚至超过传统的“顶级情报”。
1.中途岛海战中的密码分析学
1942年5月,美军在一份密码本的帮助下,破译了日军海军的电文,得知日军正在准备进攻一个名叫“AF”的地方,并猜测“AF”指的是中途岛。为了验证该猜测,美军采用了选择明文攻击的方式,命令美军中途岛基地用明码报告中途岛淡水设备故障,并让珍珠港总部回电:已向中途岛派出供水船。美军很快就收到了日军用密文通知主力进攻部队携带更多淡水净化器以应对“AF”淡水匮乏的消息,以此印证了美军对“AF”的猜测。
2.德国Enigma密码机的破解
1933年,德国采购了大量Enigma密码机。 Enigma密码机是一种使用电气机械装置的密码机, 如图1-2所示,其外形如同一台打字机。
●图1-2 Enigma密码机
波兰情报机构发现德国的密码无法破解后,决定培养数学专业的学生来协助破解德国人的密码。其中涌现出了三位杰出的波兰数学家:雷耶夫斯基、齐加尔斯基和鲁日茨基。他们从分析Enigma密码机的工作原理入手,建立起了置换群方程,并且断定只要能解出这些方程,即可破解Enigma密码机。虽然通过密码机的结构和操作规程能够简化破解过程,但仍需要很复杂的计算。
1939年,德国入侵波兰,波兰密码局销毁了全部的资料和设备,将破解的关键技术转交给了英法两国。英国组织优秀的数学家继续进行密码机的破解工作。不久,数学家杰弗里斯、图灵、威尔仕曼、特温等齐聚布莱切利庄园,开始破解工作。图灵在1939年—1940年中提出了破解Enigma密码机的crib方法,设计建造了新的“炸弹”机,并开始使用贝叶斯统计原理破解德国海军的密码机,破译了德国90%以上的秘密电文,为第二次世界大战的胜利做出了重要的贡献。