在近代以前,密码学只考虑到信息的机密性(Confidentiality),即如何将可理解的信息转换成难以理解的信息,并且使得有秘密信息的人能够逆向回复,但缺乏秘密信息的拦截者或窃听者则无法解读。数十年来,这个领域已经扩展到涵盖身份认证(或称鉴权)、信息完整性检查、数字签名、互动证明、安全多方计算等各类技术。
1.古典密码
在公元前,秘密书信已用于战争之中。希罗多德(Herodotus)的《历史》(The Histories)当中记载了一些最早的秘密书信故事。公元前5世纪,希腊城邦为对抗奴役和侵略,与波斯发生多次冲突和战争。公元前480年,波斯秘密集结了强大的军队,准备对雅典和斯巴达发动一次突袭。希腊人狄马拉图斯(Demaratus)在波斯的苏萨城里看到了这次集结,便利用了一层蜡把木板上的字遮盖住,送往并告知了希腊人波斯的图谋。最后,波斯海军覆没于雅典附近的沙拉米斯湾。
由于古时多数人并不识字,最早的秘密书写的形式只用到纸笔或等同物品,随着识字率的提高,就开始需要真正的密码学了。最经典的两个加密技巧是代换和置换。代换是有系统地将一组字母换成其他字母或符号,而置换是将字母顺序重新排列。凯撒密码(Caesar Cipher)是最经典的代换法,据传由古罗马帝国的皇帝凯撒所发明,用于与远方将领的通信上。
加密旨在确保通信的秘密性,如军事将领、外交人员间的通信,同时也有其他方面的应用。
兵书《六韬·龙韬》也记载了密码学的运用,其中的《阴符》和《阴书》便记载了周武王问姜子牙关于征战时与主将通信的方式:
太公曰:“主与将,有阴符,凡八等。有大胜克敌之符,长一尺。破军擒将之符,长九寸。降城得邑之符,长八寸。却敌报远之符,长七寸。警众坚守之符,长六寸。请粮益兵之符,长五寸。败军亡将之符,长四寸。失利亡士之符,长三寸。诸奉使行符,稽留,若符事闻,泄告者,皆诛之。八符者,主将秘闻,所以阴通言语,不泄中外相知之术。敌虽圣智,莫之能识。”
武王问太公曰:“……符不能明;相去辽远,言语不通。为之奈何?”
太公曰:“诸有阴事大虑,当用书,不用符。主以书遗将,将以书问主。书皆一合而再离,三发而一知。再离者,分书为三部。三发而一知者,言三人,人操一分,相参而不相知情也。此谓阴书。敌虽圣智,莫之能识。”
阴符是以八等长度的符来表达不同的消息和指令,算是密码学中的代换(Substitution),把信息转变成敌人看不懂的符号。至于阴书则运用了移位法,把书一分为三,分三人传递,要把三份书重新拼合才能获得还原后的信息。
许多物理装置被用来辅助加密,例如古希腊斯巴达的密码棒(Scytale),这是一个协助置换法的圆柱体,可将信息内字母的次序调动,利用了字条缠绕木棒的方式,把字母进行位移,收信人要使用相同直径的木棒才能得到还原后的信息。
由经典加密方法产生的密码文很容易泄露关于明文的统计信息,以现代观点来看,很容易被破解。阿拉伯人津帝(al-Kindi)便提到如果要破解加密信息,可在一篇至少一页长的文章中数算出每个字母出现的频率,在加密信件中也数算出每个符号的频率,然后互相对换,这是频率分析的前身,此后几乎所有此类的密码都马上被破解。但经典密码学现在仍未消失,经常出现在谜语之中。这种分析法除了被用在破解密码法外,也常用于考古学上。在破解古埃及象形文字(Hieroglyphs)时便运用了这种解密法。(www.xing528.com)
2.中世纪至第二次世界大战时期出现的密码
本质上所有的密码仍然受到频率分析的破解方法的危害,直到阿伯提(Alberti)约在1467年发明了多字母表代换加密法(Polyalphabetic Cipher)。阿伯提的创新在于对信息的不同部分使用不同的代码,他同时也发明了可能是第一个自动加密器,一个实现他部分想法的转轮。多字母表代换加密法最典型的例子是维吉尼亚加密法(Vigenère Cipher):加密重复使用到一个关键字,用哪个字母进行代换操作视循环到关键字的哪个字母而定。尽管如此,多字母表代换加密法仍然受到频率分析法的部分危害,不过这直到19世纪中期才被查尔斯•巴贝奇(Charles Babbage)发现。
多字母表代换加密法出现后,更多样的物理辅助工具也随之出现,如阿伯提发明的密码盘(Cipher Disk)、特里特米乌斯发明的表格法(Tabula Recta),以及美国总统Thomas Jefferson发明的多圆柱,Bazeries约在1900年再次独立发明并改进。20世纪早期,多项加解密机械被发明且被注册专利,包括最有名的转轮机(Rotor Machines),第二次世界大战德军所用,别名“谜”(Enigma密码机),其加密法是在第一次世界大战后针对当时解密术所做的最好的设计。
近代比较著名的例子要数苏格兰的玛丽女王、第一次世界大战德国的齐默尔曼电报(Zimmerman Telegram)和第二次世界大战的“谜”。
在第二次世界大战中德国吸取了第一次世界大战的教训,发展出以机械代替人手的加密方法。雪毕伍斯(Arthur Scherbius)发明了“谜”,用于军事和商业。“谜”主要由键盘、编码器和灯板组成。三组编码器加上接线器和其他配件,总共提供了一亿亿种编码的可能性。1925年,“谜”开始有系列生产,在20年间,德国军方购入了3万多台“谜”,成为德国在第二次世界大战的重要工具。波兰成立了波兰密码局(Biuro Szyfrow),从汉斯-提罗·施密德(Hans-Thilo Schmidt)处得到谍报,由年轻的数学家马理安·瑞杰斯基(Marian Rejewski)解译,用了一年时间编纂目录,并在1930年代制造了“炸弹”(Bomba),渐渐掌握并了解“谜”的技术。
1938年12月,德国加强了“谜”的安全性,令波兰失去了情报。“谜”成为了希特勒(Hitler)闪电战略的核心,每天更改的加密排列维系了强大快速的攻击。1939年4月27日,德国撤销与波兰的互不侵犯条约,波兰才不得不决定把“炸弹”这个构想与英、法两国分享,合力破解新的“谜”。1939年9月1日,德国侵击波兰,大战爆发。英国得到了波兰的解密技术后,“40号房间”除了原有的语言和人文学家,还加入了数学家和科学家,后来更成立了政府代码暨密码学校,5年内人数增至7000人。1940~1942年是加密和解密的拉锯战,成功的解密从而获得了很多宝贵的情报。例如,在1940年,破解并得到了德军进攻丹麦和挪威的作战图,以及在不列颠战役事先获得了空袭情报,化解了很多危机。但“谜”却并未被完全破解,加上“谜”的网络很多,令德国一直在大西洋战役中占上风。最后英国在“顺手牵羊”的行动中在德国潜艇上俘获“谜”的密码簿,破解了“谜”。英国以各种虚假手段掩饰这件事,免得德国再次更改密码,并策划摧毁了德国的补给线,缩短了大西洋战役的时间。
3.现代密码
第二次世界大战后,计算机与电子学的发展促成了更复杂的密码,而且计算机可以加密任何二进制形式的资料,不再限于书写的文字,以语言学为基础的破解技术因此失效。多数计算机加密的特色是在二进制字串上操作,而不像经典密码学那样直接地作用在传统字母数字上。然而,计算机同时也促进了破解分析的发展,抵消了某些加密法的优势。不过,优良的加密法仍保持领先,通常好的加密法都相当有效率(快速且使用少量资源),而破解它需要许多级数以上的资源,使得破解变得不可行。
大量的公开学术研究出现是现代的事,这起源于19世纪70年代中期,美国国家标准局(National Bureau of Standards,NBS;现称国家标准技术研究所,National Institute of Standards and Technology,NIST)制定数据加密标准(DES)。Diffie和Hellman发表了开创性论文(提出公钥密码),以及公开释放出RSA(Rivest,Shamir and Adleman)。从那个时期开始,密码学成为通信、计算机网络、计算机安全等的重要工具。许多现代密码技术的基础依赖于特定计算问题的困难度,如因子分解问题或是离散对数问题。许多密码技术可被证明为只要特定的计算问题无法被有效地解出,那就是安全的,除了一个例外:一次一密(One-time Pad),这类证明是偶然的而非决定性的,是目前可用的最好的方式。
密码学算法与系统设计者不但要留意密码学历史,而且必须考虑到未来发展。例如,持续增加的计算机处理速度会增进暴力攻击法的速度。量子计算的潜在效应已经是部分密码学家关注的焦点。
20世纪早期的密码学本质上主要考虑语言学上的模式。从此之后重心转移,现在密码学使用大量的数学,包括信息论、计算复杂性理论、统计学、组合学、抽象代数及数论。密码学同时也是工程学的分支,但与别的分支不同,因为它必须面对有智能且恶意的对手,而大部分其他的工程仅需处理无恶意的自然力量。检视密码学问题与量子物理间的关联也是目前热门的研究方向。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。