密码的起源之谜
观点:密码的历史几乎与文字一样悠久,公元前3000年前古埃及就出现了具有密码功能的符号。由于密码的隐蔽性,它不可避免地被首先应用在部族内部斗争与军事战争上。早期的密码虽然简单,但是其设计的巧妙与使用的出人意料,还是令现在的人惊叹赞许。
密码何时在人类文化中出现,目前没有一个确切的说法。但是,密码的历史十分悠久,这是不争的事实。应该说,人类文明刚刚形成的时候,就有人开始使用密码了。在人类文明几个著名的发源地,都能找到使用密码的事例。
考古发现,公元前2000年,古埃及的某些贵族就有在坟墓中树碑的习惯,这些墓碑上有些神秘的文字,已经具备了密码的特征。考古学家说,墓碑上的象形文字不同于已知的普通埃及象形文字,而是由一位当时的书法家经过变形处理之后写的,但是具体的使用方法已经失传。人们推测,这种做法是为了给坟墓增加神秘气氛,提高墓主的声望。到了公元前1500年左右,还是在古埃及,人们发现了一名陶工留下的信息,他试图用一种简单的密码掩藏自己给陶罐上釉的配方技巧。
希伯来也是较早使用密码的古老的文明之一。公元前21世纪,希伯亚民族发源于两河流域的美索不达米亚的吾珥(Ur)。这批游牧民族后来为了寻找牧场而迁移,他们来到迦南的巴勒斯坦之后,被称为希伯来,即迦南语“越河者”之意。希伯来民族在长期的发展过程中,曾经开发出了三种加密法,称为“atbah”、“atbash”和“albam”。这也就是著名的小说《达芬奇密码》中出现的那种密码体系。中世纪时有许多修士坚信,在《圣经》的古代写本中,就隐藏着大量的密码,那里有众多的神秘信息。甚至还有人从中读出了肯尼迪遇刺与卫星上天等预测,事后被证明大多是生硬的附会及东拼西凑而已。
希腊也有过很早使用密码的历史记载。这是一种非常有趣的传递情报的手段。有一个希腊城邦想要给对方送出一份非常重要的情报,为了保密和掩人耳目,他们把一个奴隶剃成光头,然后在头皮上写下情报内容,等头发长好后,这名奴隶就可以带着这份情报出发。到达目的地后,对方只要再剃去他的头发,就可以读到完整的信息。这种办法看上去很麻烦,但确实非常安全,因为再严密的搜查,也不可能发现头发下的秘密。希腊的密码与众不同,它属于夹带加密法,是把密文以隐藏的方式传递。但问题是,这种密码没有什么时效性,毕竟不是每次都可以等送情报的头发长到可以隐藏情报时,才能够出发将情报传送到它应该被送到的地方。
中国是著名的文明古国,历史上也不乏使用密码的记载。公元前11世纪的周武王时代,就已经使用了一种“阴符”系统,用不同的长度来表示战争的结果。《资治通鉴》卷二百零一载:
唐高宗乾封二年(667),唐朝大军征讨高句丽,运粮使郭待封率海军舰队从海上进攻平壤,主帅李勣命冯师本运送粮秣武器在后接应。不想补给船只在海上遇险,未能及时送达前线。郭待封军中乏粮,作书向李勣告急,但他担心书信会落入高丽人之手,从而暴露军中虚实,于是将告急书信写成“离合诗”。
英国科学家李约瑟是公认的研究中华文化的外国人,他曾经称《武经总要》为“军事百科全书”。
《武经总要》是中国北宋时期的军事家、政治家曾公亮编纂的一本书,该书辑录着一种真正意义上的军事通讯密码表,大概也是世界上保存至今最早的军用密码表。当时常规军事通讯存在着严重缺陷,曾公亮创造出了一种“优雅的诗歌密码”。这种密码先在一本密码本中收集当时军中必用的40个军事短语,给它们分别编上相应的代码数字。如:1.请弓;2.请箭;3.请刀……一直到最后:
40.战小胜。大将率兵出征时,先带上一个密码本,同时与指挥部事先约定,利用某一首五言诗作为解码密钥。这些事先约定的诗的字数正好是40,每一个字均对应着40个军事短语的某一个。如果前线发生某种情况,需要向指挥部请示或报告时,就在一封普通的公文中有意写进诗中相应的一个字,并在该字上盖章,以示关键所在。指挥部接到公文后,根据这个字到约定的诗中检索一番,便可了解前线发回的意图。指挥部回复时,如果同意,就重新使用这个字,也夹杂在普通的公文中,盖章发回;如果不同意,则什么也不写,依然原样盖章发回。这种诗歌密码,不仅敌人看不出任何异常,就连送信人也一头雾水,确实属于一种可靠的密码通讯。
真正得到大部分人公认的最早的密码是斯巴达人发明的(也有说法是斯巴达人从希腊人那里学习到的)。公元前8至公元前6世纪,希腊半岛上出现了200多个奴隶制国家,它们以一个城市为中心,包括周围的若干城镇,这被称为“城邦”。在这些城邦之中,有两个最为强大:一个是由欧洲北部南下定居的推崇武力的斯巴达;另一个是发端于地中海沿岸的强调民主的雅典。
公元前12世纪,一批多利亚人来到斯巴达地区,200年后,他们由原有的五个村落渐渐发展成一个城市,称为“斯巴达城”。
斯巴达人推行武力扩张的立国信条,凭借自己强大的武装,斯巴达成功地成为希腊半岛上最强大的城邦,并将周围的其他城邦征服,成立了以自己为首的城邦联盟。
公元前431年,斯巴达和雅典以及双方的盟友发生了战争。战争持续了几十年,这段时间中斯巴达人借助波斯的力量构建了一只强大的海军。在长期的战争中,斯巴达人使用一种叫“Skytale”(中文译为“天书”)的密码。斯巴达人把一个带状物,比如纸带、羊皮带或是皮革类的东西,呈螺旋形紧紧地缠在一根权杖或木棍上,之后再沿着棍子的纵轴书写文字,在这条带状物解开后,上面的文字将杂乱无章,收信人只需用一根同样直径的棍子(这两根同样直径的棍子可以是在出征前把一根棍子锯断后得到,之后将领和“情报部门”各拿一半。)重复这个过程,就可以看到明文,这还是人类历史上最早的加密器械。
公元9世纪,阿拉伯的密码学家阿尔·金迪提出解密的频度分析方法,通过分析计算密文字符出现的频率破译密码。正是利用频度分析法,英国的菲利普斯成功破解苏格兰女王玛丽的密码信,信中策划暗杀英国女王伊丽莎白,这次解密将玛丽送上了断头台。
在14世纪,密码得到了更加广泛的运用,主要被炼金术士和科学家们用来隐藏他们的发明。到15世纪的时候,欧洲的密码术简直已经成为一种产业。文艺复兴时期科学、艺术和宗教的复苏、繁荣刺激了密码术的发展,而使用秘密通信最重要的动机还是政治阴谋,尤其是在意大利。到19世纪,出现了无线电密码通信,逐步运用到军事、政治、经济等领域。第一次世界大战时,密码通信已经十分普遍。到20世纪70年代,密码普及于民用,可谓渗透到社会的方方面面。到了今天,密码更是成为人们须臾不可离的必备。
离合诗
离合诗,是指用拆字法写成的诗,最早见于史载的离合诗出现于南北朝时期。一般认为离合诗属文人的一种文字游戏,实际上,这也就是密码的一种类型。著名诗人皮日休曾经写过一首《晚秋吟》:东皋烟雨归耕日,免去玄冠手刈禾。火满酒炉诗在口,今人无计奈侬何。
第一句的最末一字“日”与第二句的首字“免”,合“晚”字。第二句的最末一字“禾”
与第三句的首字“火”,合“秋”字。第三句的最末一字“口”与第四句的首字“今”,合“吟”字。三字组成诗题“晚秋吟”。
世界上最早的密码之谜
观点:世界上出现的第一种符合密码学意义上的密码是棋盘密码,也即波利比奥斯方表。它是以希腊历史学家、军事家、数学家波利比奥斯(Polybius)的名字命名的。这种密码是个划时代的发明,是密码学上的丰碑,它的最大特征就是用1—5个数字的组合替代全部字母。可以说,之后出现的许多密码都与其有起源关系。
我们都知道,密码之所以会产生、发展及得到应用,根本原因在于人们想要传递一些只有我们希望或者允许的接受者才能接受并理解的信息。一套成体系的密码系统,必须要有以下特征和条件:被隐藏的真实信息称为明文(Plaintext),明文通过加密法(Cipher)变为密文(Ciphertext),这个过程被称为加密(Encryption),通过一个密钥(Key)控制。密文在阅读时需要解密(Decryption),这也需要密钥,这个过程由密码员(Cryptographer)完成。通常使用的加密方法有编码法(Code)和加密法(Cipher),编码法是指用字,短语和数字来替代明文,生成的密文称为码文(Codetext),编码法不需要密钥或是算法,但是需要一个编码簿(Codebook),编码簿内是所有明文与密文的对照表;而加密法则是使用算法和密钥。
密码在传递过程中,必定面临着被外人截获的风险,这也正是密码编制的原因。当密码落到外人手中时,可能有人凭借耐心和智慧,在没有密钥的情况下得到明文,这种方法称为破解(Break)。如何才能确保密码不被外人破解,保证情报的安全呢?如果如上文所述,像希腊或者古埃及那种简单的掩饰方法,必定不可能做到万无一失。这就要求人们必须设计一套绝对安全或者足够复杂的密码。
就像今天的最新科技往往首先使用在军事领域内一样,最早的成体系的密码也是出现在两国交战之中。公元前405年,雅典和斯巴达之间的伯罗奔尼撒战争已进入尾声。得到了波斯帝国支持的斯巴达军队控制了海上交通,逐渐占据了优势地位。就在斯巴达准备对雅典发动最后一击的时候,原来站在斯巴达一边的波斯帝国突然改变态度,停止了对其援助。波斯帝国这样做,本意是使雅典和斯巴达在持续的战争中两败俱伤,以便从中渔利。在这种情况下,斯巴达急需摸清波斯帝国的具体行动计划,以便采取新的战略方针。
正在这时,一名从波斯帝国回雅典送信的雅典信使被斯巴达军队捕获。如获至宝的斯巴达士兵仔细搜查了这名信使,可除了搜出一条布满杂乱无章的希腊字母的普通腰带外,其他任何有价值的东西都没有。那么,这名信使把情报藏在了什么地方呢?
事情传到斯巴达军队统帅莱桑德那里,他决定亲自审问这名雅典信使。莱桑德注意到了那条腰带,虽然只有一些杂乱的字母,但他觉得情报就隐藏在这其中。他与助手反复琢磨研究,把腰带上的这些天书似的文字用各种方法重新排列组合,却什么也读不出来。灰心丧气的莱桑德几乎失去了信心,当他无意中把腰带呈螺旋形缠绕在手中的剑鞘上时,奇迹出现了。原来腰带上那些杂乱无章的字母,竟组成了一段文字。原来,这果真是雅典间谍送回的一份情报,上面显示,波斯军队会在斯巴达军队发起最后攻击时,突然对斯巴达进行袭击。莱桑德根据这份情报,马上改变作战计划。
他指挥斯巴达军队,首先突然攻击毫无防备的波斯军队,一举将它击溃。解除后顾之忧之后,斯巴达军队又回师征伐雅典,取得了伯罗奔尼撒战争的最后胜利。
雅典间谍送回的这份令斯巴达人百思不得其解的腰带情报,就是世界上最早的密码情报。具体方法是,通信双方首先约定密码解读规则,然后通信一方将腰带(或羊皮等其他东西)缠绕在约定长度和粗细的木棍上书写。收信一方接到后,再把腰带缠绕在同样长度和粗细的木棍上,就会看到完整正确的信息,否则,就只能得到一些毫无规则的字母。这就是最早的换位密码术,后来这种密码通信方式在西方得到了广为流传。
这种换位密码,虽然有一定的隐蔽性,但只要解密者有耐心不断尝试各种长短粗细的木棒,早晚会破译。所以,这还算不上真正安全的密码。到了公元前2世纪,还是在希腊,希腊历史学家、军事家、数学家波利比奥斯(Polybius)发明了波利比奥斯方表PolybiusSquare,也被称之为棋盘密码,它的发明为以后密码学的发展奠定了基础。
波利比奥斯是一位历史学家,撰写的历史著作共40卷,只有5卷原著保存了下来。波利比奥斯对历史学非常感兴趣,并亲自到各地探险游历,他亲眼目睹了当时的许多历史事件。例如,他经历了公元前146年北非迦太基城的毁灭,为了了解迦太基统帅汉尼拔在远征罗马途中翻越阿尔卑斯山的传奇故事,波利比奥斯还亲自作了一次旅行。
以波利比奥斯名字命名的密码方表的最大特征就是用1—5个数字的组合替代全部字母,这是之前密码所没有的。它使用一个5×5的棋盘式方格来加密,把字母按照顺序填入,随后使用这个字母所在的行和列,也就是坐标,来代指这个字母。
以目前通用的英语来看,棋盘密码5×5的棋盘式方格不可能填入26个字母,这是因为希腊字母只有24个,因而可以成功填入这个棋盘。当这种加密思想传播开来后,人们希望这种密码可以应用于拉丁字母,英语,甚至是拼音来作为明文。故此,通常将i和j填入一个方格内。构成方阵:
A,B,C,D,E。
F,G,H,I/J,K。
L,M,N,O,P。
Q,R,S,T,U。
V,W,X,Y,Z。
在这个棋盘密码中,每个字母由对应的坐标代替,比如M就加密为23,E就加密为15。虽然在当时这是一种非常新颖的密码加密方法,但这只不过是一种单表置换加密。再复杂众多的密文,只要使用频率统计就可以轻松破译。所以这种方法是一种很不安全的方法。现在在密码学上已经基本销声匿迹,只是作为古典密码的经典被人们所了解。
波利比奥斯(Polybius)古代希腊历史学家。生于伯罗奔尼撒半岛的麦加洛波利斯。年轻时即跻身政界。公元前169年任阿哈伊亚同盟骑兵长官。第3次马其顿战争(公元前171~前168)后,作为阿哈伊亚同盟的人质前往罗马。在罗马,深得西庇阿家族的宠信,成为名将西庇阿·埃米利阿努斯,即小西庇阿的朋友,曾随之远征迦太基。约公元前150年回到故乡。
埃特巴什码与圣殿骑士之谜
观点:在《达·芬奇密码》中,神秘的埃特巴什码与圣殿骑士的故事引起众多喜爱密码的读者的关注。事实上,埃特巴什密码只是一种希伯来人发明的比较简单的置换密码,而圣殿骑士与密码的传说,大抵与其拥有巨大财富,为了金钱安全与流通方便有一定关系。
随着《达·芬奇密码》在全世界范围内的走红,关于其中的埃特巴什密码引起许多人的兴趣。丹布朗在小说中利用埃特巴什码寻找《圣经》中的秘密,这在历史上确有其事。