写在前面的话
——什么是密码学
从字面意义上讲,密码学就是关于密码的学问。那么,密码又是什么呢?其实,“密码”一词在不同场合下有着不同的含义,而“密码学”也随着时代的发展不断演变。密码和密码学之间有着密切的联系,但是这种联系并不完全像字面所表示的那样。
1.从现代京剧《红灯记》说起
革命现代京剧样板戏《红灯记》曾经在中国家喻户晓。剧情是抗日战争时期的共产党员李玉和从地下党交通员手中拿到密电码,然后要转交给柏山游击队派来的磨刀师傅,使游击队能与上级机关保持秘密通信;日本宪兵队长鸠山则想方设法要截获密电码,从而破坏游击队与外界的联系。李玉和、交通员和磨刀师傅彼此之间都不认识,他们必须通过暗号接头。在剧中,李玉和与交通员是这样对暗号的,见图0-1。
图0-1《红灯记》中李玉和与交通员对暗号
(李玉和手拿号志灯,交通员左手戴手套。)
交通员:我是卖木梳的。
李玉和:有桃木的吗?
交通员:有,要现钱。
李玉和:好,你等着。
(李玉和示意李奶奶拿灯试探。)
李奶奶:(举煤油灯看交通员)老乡……
交通员:(见暗号不对)谢谢你们救了我,我走啦!
李玉和:(高举号志灯)同志!
交通员:(激动地)我可找到你啦!
本剧中,“密电码”和“暗号”显然指的是两件不同的事情。其实,它们都属于“密码”。
“密电码”简称为“密码”,是“密码”一词最早、最基本的含义。1837年,美国人莫尔斯(Samuel Finley Breese Mores,1791—1872)发明了用长-短电脉冲信号的组合(通常简记为“点—横”或“0—1”)来表示字母和数字的方法,使人类首次拥有了一种能远距离即时传送文字信息的通信工具——电报。
因迅速、便利、费用低廉,电报很快在全世界普及。莫尔斯的发明被称为“莫尔斯电码”(Morse code),也成为电报业的标准。例如,SOS 是国际通用的救难信号,它用莫尔斯电码表示为⋯---⋯(即3点、3横、3点),简短易记,便于人们处于危险境地时迅速发出求救信号。莫尔斯电码表见图0-2。
图0-2 莫尔斯电码表
包括莫尔斯电码在内的一些常用电码又叫“明码”(Plain code),因为这些电码的含义是公开的,人们在了解其含义后即能读懂。显然,当人们要传送保密信息时,不能使用“明码”,而必须使用特别编制的只有当事人才能看懂的“密码”。1871 年,电报传入中国,于是出现了“电码”、“明码”和“密码”等词汇。其中“码”字的原意是指计数或计量的符号和工具,如“号码”、“页码”、“砝码”和“筹码”等。
而“密码”所对应的英文是Secret Code或Code,其含义比中文广泛。Code源自14 世纪的拉丁语,本义是指树干,后引申为木板,再引申为(写在木板上的)法规、法典、制度,进而引申为(社会、组织或团体的)习俗、行规、行话、暗号、标记、符号等。莫尔斯电码的出现,使Code又增加了一类新的且被广泛使用的含义,即指电码、密(电)码,或指一个用于通信和信息交换的符号系统。最后,Code又有了“计算机程序代码”的含义。
了解到这些含义就会明白,为什么《红灯记》中地下党的接头“暗号”也属于密码。而使用“密码”或“暗号”不仅是为了保密通信,还能用于识别身份、分辨敌友。一旦“密码”或“暗号”被敌对方截获,则本方组织就会遭受严重的破坏。所以鸠山竭力想得到密电码,而李玉和则不惜牺牲生命也要保护它。
下面再来看一些例子。
现代京剧《智取威虎山》中,侦查英雄杨子荣假扮土匪胡标,混进威虎山上的匪窟,与土匪头子坐山雕及其手下八大金刚见面后,开始对“黑话”。
坐山雕:(突然地)天王盖地虎!
杨子荣:宝塔镇河妖!
众金刚:么哈?么哈?
杨子荣:正晌午时说话,谁也没有家!
坐山雕:脸红什么?
杨子荣:精神焕发!
坐山雕:怎么又黄啦?
(众匪持刀枪逼近杨子荣)
杨子荣:(镇静地)哈哈哈哈!防冷涂的蜡!
(坐山雕用枪击灭一盏油灯。杨子荣向匪参谋长要过手枪,敏捷地一枪击灭两盏油灯。)
坐山雕:嗯,照这么说,你是许旅长的人啦?
杨子荣:许旅长的饲马副官胡标!
坐山雕的这些“黑话”和动作是用来识别敌我的暗号,如果杨子荣答错一句话或做错一个动作,就有可能被识破而有性命之虞。所幸他应对无误,终于获得了土匪的信任。杨子荣之后与解放军小分队约定在大年夜“以松树明子为号”攻打威虎厅,这当然也是一种密码。
在现代京剧《奇袭白虎团》中,志愿军侦察排长严伟才率领尖刀班奇袭敌军指挥部,途中抓获敌巡逻兵,了解到敌军所使用的口令是“古轮木”—“欧巴”。“口令”的英文是Password,在军事上用于迅速辨别敌我,当然也属于“密码”。而现在的计算机网络通信中经常用到 Password,所以“Password”也成为现代密码学的一个重要的研究内容。
因此,我们也能够理解美国作家丹·布朗(Dan Brown,1964)所写的畅销小说《达·芬奇密码》(The Da Vinci Code)的书名含义,这里的“密码”(Code)不仅指那些有特殊含义的文字和符号,也指基督教地下团体“郇山隐修会”的教义、教规及其相关的一连串秘密。
美国曾破获一个由 11 人组成的俄罗斯间谍网。报纸披露这些俄罗斯间谍使用的接头“暗号语”(Code words)有:
“打扰一下,我们是不是去年夏天在加州见过面?”“不,我想我们在汉普顿见过。”
“我们是不是2004年在北京见过面?”“我们可能见过,但我想是在哈尔滨。”
美国联邦调查局正是通过截获这些暗号从而识破并逮捕俄罗斯间谍,美国的司法机关也是根据确认间谍们使用了这些暗号来给他们定罪。
再来谈一下汉字“暗号”,它的出现比汉字“密码”要早得多。如在古典名著《水浒传》第三十回中就有“武松又见这两个公人,与那两个提朴刀的挤眉弄眼,打些暗号”。(据“汉典网”)
最后,在日语中,就用汉字“暗号”(あんごう)表示“密码”,用“暗号学”(あんごうがく)表示“密码学”。如在第二次世界大战中,日本外务省所使用的著名的“紫色”密码打字机,其正式名称就是“九七式欧文印字机·暗号机B型”(九七式西文密码打字机B型)(见4.5节)。
2.密码学的历史演变
表示“密码学”的英文词有两个:一个是日常使用的Cryptography,另一个是美国军方常用的Cryptology。我们在这里主要说说较为科学的后者。
Cryptology源于希腊语,其中词头crypto-有保密的、秘密的意思,词尾-logy则表示“学问”、“学科”。按照美国军方的说法,Cryptology包含Cryptography和Cryptanalysis两门学科,其中两个词尾-graphy 和-analysis 均源于希腊语,分别表示“书写”和“分析”。因此,Cryptography是关于保密书写的技术或学问,Cryptanalysis是对Cryptography的产物进行分析和破解的技术或学问,Cryptology则是两者的综合。
因此,就英文词的原意来讲,“密码学”(Cryptology)和“密码”(Code)之间本无多大联系。它们之所以会紧密联系起来,是因为19世纪后期电报的发明及其广泛使用,导致形成了密码学的两个“矛”和“盾”的主题:研制种种电报密码以确保电报能可靠地传递密文、分析所有的密电码以破解密文。事实上,正是由于电报的出现,特别是它在外交、谍报和军事领域的广泛应用,才促进了密码学的飞速发展,使之成为一门真正的学科。
在电报发明以前,密码学的主要任务是文字书写的加密及其破解。西方国家普遍使用拼音文字,因此,一般通过改变文字中字母的书写方式和阅读顺序来达到信息加密的目的。这种加密技术与后来的电报加密技术有密切联系。而中国主要使用方块字,其文字加密方法与西方相比较有很大的不同(见1.2节)。
从人类社会的发展来看,自文字出现后不久,就出现了密码学的萌芽。在中国和西方,密码学最早的系统性应用都是在军事领域。中世纪的阿拉伯人已在国家事务中广泛使用密码。欧洲在13世纪文艺复兴运动以后,开始出现现代意义的外交活动,外交官与其各自的政府需要通过公共邮政系统交换机密情报,密码学从此在外交领域大显身手(见1.5节)。
两次世界大战是基于电报的密码学发展的繁荣时期。第一次世界大战中,交战各国纷纷建立密码机构,导致改变了战争乃至历史的进程(见第2章)。第二次世界大战中,出现了加密和解密的机械电气装置,数学家开始全面介入密码战(见第4章)。
20世纪50年代,随着计算机的出现,密码学开始与计算机紧密结合。20世纪70年代,计算机网络和信息数字化技术迅速发展,然后是互联网的诞生,这令密码学再次经历革命性改变:从传统的基于手写文字通信的密码学,到基于电报通信的密码学,发展到如今基于数字化信息和网络通信的密码学,其应用范围也已远远超出传统的外交、谍报和军事领域,它开始向人类的几乎所有的社会活动领域渗透,甚至已进入普通民众的日常生活。
3.信息时代的密码学
20世纪70年代,数字化的计算机文件开始大幅增长(如今,数字化文件的数量已远远超过了传统纸质文件)。这给密码学提出了一个全新的任务:保证数字化文件的安全使用(如不被偷看、窃取、篡改或非法销毁)。于是,产生了DES(Data Encryption Standard,数据加密标准)、AES(Advanced Encryption Standard,高级加密标准)等加密方法(见5.1节)。
20世纪90年代,因特网开始在全球迅速普及。如果身处异地之人无需直接见面,通过因特网就能进行保密通信、交换数据和资料、签署文件和合同,甚至能支付和收取账款,那将是一件多么美妙的事!公钥密码的思想应运而生,成为密码学发展的新方向。RSA(一种非对称加密算法)、ECC(Elliptic Curve Cryptography,椭圆曲线加密法)等公钥密码体系保证了电子商务的繁荣发展(见5.3节)。
如今,密码学的应用已经深入到我们生活的各个方面,如数字证书、网上银行、身份证、社保卡和税务管理等。密码技术在其中都发挥了关键作用(见第6章)。
4.密码学的未来发展
正处于发展和应用鼎盛时期的现代密码学,却受到即将出现的量子计算机的严重挑战。量子计算机能够实现传统数字电子计算机所做不到的并行算法,利用这种算法可以轻易地破解 RSA 和 ECC 等密码,从而让基于这些密码安全体系的因特网、各种电子商务系统、我国第二代身份证管理系统等即刻崩溃(见第7章)!如果我们现在不做好准备的话,到那时候人类社会将会出现难以想象的混乱局面。
为了应对量子计算机的挑战,密码学家们正在抓紧研究各种抗量子计算的密码。目前来看,基于量子力学原理的量子密码(见 7.2 节)、基于分子生物技术的 DNA 密码(见7.3节)、基于量子计算机所不擅长计算之数学问题的密码(见7.1节)以及混沌密码(见7.4节)等,很有希望成为抗量子计算的未来主流密码:它们的发展和应用以及互相之间的结合、取长补短,将会成为未来密码学的主题。