秘密的起源:为什么人类需要密码
第一章:秘密的起源
为什么人类需要密码
公元前五世纪,波斯帝国的百万大军如滚滚洪流般向东欧平原涌来。消息传到了爱琴海之滨的斯巴达城邦,军事长官莱昂尼达斯站在议事厅的石柱下,面对着满脸焦虑的元老们说出了那句流传千古的名言:“如果不来,我们怎么办?如果来了,我们又该怎么办?”他没有等待回答,转身走向战场,带着三百名斯巴达勇士和数千名同盟士兵,踏上了一条注定有去无回的道路。
然而,在那场惨烈的温泉关战役发生之前,有一个细节几乎被所有历史著作所忽略——当莱昂尼达斯决定出兵拦截波斯军队时,他面临的最大挑战并非兵力悬殊,而是如何将作战计划安全地传递给分散在伯罗奔尼撒半岛各地的城邦盟友。在那个没有电报、没有互联网、甚至没有快马信使的年代,一条军事机密的传递可能需要数周时间,而在战争时期,数周足以决定一个城邦的生死存亡。
斯巴达人的解决方案,或许是人类历史上最早被系统化使用的密码装置——斯巴达密码棒,也被称为塞塔棒(Scytale)。这个看似简单的装置,蕴含着密码学最核心的哲学:当信息的传递无法被阻止时,我们至少可以让它在传递过程中变得不可理解。
塞塔棒的秘密
让我们想象一下那个场景。公元前480年的某个夜晚,一位斯巴达信使在众目睽睽之下离开城邦,腰间挂着一根看似普通的皮带——那是用上等皮革精心制成的,缠绕在一根特定粗细的木棍上时,能够传递长官最机密的口令。这位信使必须穿越敌人的领土,躲避间谍的追踪,还要在各种盘问面前保持镇定。
当这根皮带最终被送到盟友手中时,接收者需要做一件看似不可能的事情:他必须拥有一根与发送者完全相同粗细的木棍。只有当皮带正确地缠绕在这根木棍上,原本杂乱无章的皮革条纹才会神奇地变成可读的文字。这听起来像是一种原始的魔术,但其中蕴含的数学原理却如此精妙,以至于两千年后的数学家们仍在使用类似的逻辑来设计更复杂的加密系统。
塞塔棒的加密原理其实并不复杂。发送者将一条羊皮纸螺旋式地缠绕在木棍上,然后沿着木棍的轴向书写信息。当羊皮纸被解下来后,原本连续的信息就变成了一串看似毫无意义的字母序列。例如,如果原始信息是“明天黎明进攻温泉关”(希腊原文会更长),缠绕后的羊皮纸展开时可能显示为一串混乱的字母。接收者只需要用同样粗细的木棍重新缠绕,文字就会立刻显现。
这个系统的安全性完全依赖于一个看似脆弱的环节——密钥。在塞塔棒的例子中,密钥就是木棍的粗细和缠绕的方式。斯巴达人深知这个秘密的重要性,他们宁可让信使在酷刑下牺牲,也不愿吐露密钥的任何信息。这种宁可牺牲生命也要保护秘密的精神,构成了密码学最古老的伦理底线。
然而,塞塔棒有一个致命的弱点:只要敌人获得了一根相同粗细的木棍,所有加密的信息就会立刻变得透明。这个弱点在几百年后被罗马的尤利乌斯·凯撒敏锐地察觉到了。凯撒并没有完全放弃加密通信,而是创造了一种更巧妙的替代方案——著名的凯撒密码。
美索不达米亚的隐秘符号
当斯巴达人在爱琴海之滨发明塞塔棒的时候,在遥远的幼发拉底河畔,人类最早的文字正在被用于记录一个同样古老的秘密。
1854年,考古学家在巴比伦古城尼尼微的遗址中发掘出了一批距今约四千年的楔形文字泥板。这些泥板大多记载着当时的商业记录、税收清单和天气预报,但其中一块编号为AH-1的泥板却让所有研究者感到困惑。这块泥板的表面覆盖着看似随机的数字和符号,与周围那些清晰的商业记录形成了鲜明对比。经过数月的艰难破译,学者们终于揭开了它的秘密——这是一份隐藏的星象图表,记录了月亮和金星的运行周期,而那些“随机”的符号正是巴比伦祭司们用来预测天象的密码。
原来,早在三千五百年前,美索不达米亚的祭司集团就已经意识到,天象预报不仅是一种知识权力,更是一种政治工具。如果所有人都能读懂星辰的语言,那么祭司阶层的特权地位将不复存在。于是,他们创造了一套只有内部人员才能理解的符号系统,用密码来保护最珍贵的知识——预测未来的能力。
这块泥板成为了人类历史上最早的“技术性密码”实例。与斯巴达人的军事密码不同,巴比伦祭司的密码不是为了在战争中传递信息,而是为了维护一种知识垄断。这种动机的出现,标志着密码学不再仅仅是军事工具,而是开始渗透到人类社会的各个层面。
在随后的考古发掘中,学者们又发现了更多类似的例子。一块写于公元前1500年左右的泥板记载了一个人向药剂师购买某种草药的配方,但配方的关键成分被用特殊符号替代了。历史学家推测,这可能是人类历史上最早的商业密码应用——一个精明的商人意识到,某些配方的价值可能比黄金还珍贵,于是他用密码来保护自己的商业秘密。
这种商业密码的出现,揭示了密码学诞生的另一个重要驱动力:经济利益。当信息具有商业价值时,信息的保护就成为了一种必要的商业行为。无论是祭司的星象知识,还是商人的配方秘密,密码学从一开始就不只是战争的附属品,而是人类社会运行的必要基础设施。
埃及的隐藏铭文
如果说美索不达米亚的密码传统揭示了密码学的知识保护功能,那么古埃及的密码应用则展示了另一个维度——来世的保护。
在古埃及的信仰体系中,坟墓不仅是亡者的安息之所,更是灵魂进入来世的通道。法老和贵族们相信,墓室中的铭文和壁画承载着特殊的魔力,能够保护死者不受邪恶力量的侵扰。然而,这种信仰也带来一个实际问题:如果任何人只要进入墓室就能读取这些神圣的铭文,那么它们的神圣性岂不大打折扣?
于是,古埃及的祭司们发展出了一套独特的“墓室密码”系统。这套系统并不完全隐藏信息,而是使用一种特殊的书写变体——僧侣体(Hieratic)和世俗体(Demotic)文字——来书写宗教文本。表面上,任何识字的人都能阅读这些文字,但只有经过专门训练的祭司才能理解其中隐藏的真正含义。
更令人惊叹的是一些直接使用“隐藏文字”的例子。考古学家在底比斯附近的一座贵族墓室中发现了大量看似装饰性图案的壁画,但在特定角度的光线照射下,这些“图案”竟然显现出了完整的文字信息。原来,这些文字是用一种与壁画背景极为相近的颜料书写的,肉眼几乎无法分辨。这种技术类似于后来所谓的“隐写术”(Steganography)——不仅仅是让文字变得不可读,而是让它看起来根本不存在。
古埃及密码学的另一个独特之处在于它与死亡仪式的紧密联系。在著名的《亡灵书》(Book of the Dead)中,许多章节都包含了只有祭司才能解读的神秘符号。这些符号不仅是保护知识的手段,更是维系祭司阶层社会地位的工具。一个有趣的传说是:某些法老在驾崩前会告诉祭司们,只有祭司才能正确地为灵魂指引道路,因为只有他们能读懂那些神秘的文字。
这种将密码与宗教权威相结合的做法,在人类历史上并不罕见。回溯到更早的时期,古埃及的象形文字本身就带有一种神秘感,让普通人觉得这些符号似乎蕴含着某种超自然的力量。这种文化氛围为密码的运用提供了肥沃的土壤——人们已经习惯于相信,最重要的知识总是被隐藏起来的。
中国的暗语传统
在世界密码学发展的版图上,中国的声音常常被忽视,但实际上,中国古典文献中充满了密码和暗语的应用,其历史之久远、形式之丰富,丝毫不逊于西方。
最早有明确记载的中国密码应用,可以追溯到春秋战国时期。《六韬》这部兵法著作中记载了一种名为“阴符”的秘密通信方法。阴符是一套不同长度的竹片或铜片,每种长度代表不同的军事含义。例如,三寸长的符表示“大胜”,四寸表示“破军”,五寸表示“城降”,六寸表示“敌退”。这种编码系统的精妙之处在于,即使敌人截获了阴符,没有密码本就无法解读其中的含义。
比阴符更为精妙的是“阴书”系统。根据《六韬》记载,阴书是将一封完整的信分成三部分,分别由三个信使传递,只有收信人同时收到全部三部分,才能拼凑出完整的信件内容。这种“分散式加密”的思想,在现代密码学中被称为秘密共享,是保护极度敏感信息的常用方法之一。
中国密码学的另一个高峰出现在南宋末年。面对蒙古帝国的入侵,宋朝的情报人员发展出了一套复杂的手语和旗语系统,用于在战场上进行无声的指挥。这些暗号系统不仅要考虑保密性,还要考虑实用性——在嘈杂的战场上,简单的视觉信号比声音更可靠。这提醒我们,密码设计从来不是纯粹的技术问题,而是要在安全性、便利性和可靠性之间找到平衡。
在非军事领域,中国古代的密码应用同样丰富多彩。武侠小说中常见的“飞鸽传书”背后,隐藏着真实的密码学原理——信鸽只能携带简短的信息,因此发送者必须先用密码将长信息压缩成关键词,再由接收者根据密码本还原完整内容。这种做法在本质上与现代的数据压缩和加密传输并无区别,只是使用了完全不同的技术手段。
中国古典文学中也充满了对暗语和密码的运用。《三国演义》中诸葛亮与姜维之间的秘密通信,《水浒传》中梁山好汉的各种暗号联络,这些并非完全是小说的虚构,而是反映了当时社会普遍存在的密码文化。明朝的锦衣卫和东厂、西厂等特务机构,更是将密码通信发展成了一门精密的艺术。他们使用的密码本每过一段时间就会更换,内容涉及天文、地理、花草、鸟兽等多个领域,任何一个领域的术语都可能被赋予特殊的含义。
值得特别一提的是中国古典诗词中的“密码”。唐代诗人李商隐的无题诗,以其晦涩难懂的意象和隐晦的情感表达而闻名。许多学者认为,这些诗作中隐藏着李商隐与女道士宋华阳之间的秘密情感。虽然我们无法确证这些解读,但它们至少说明了一个事实:在中国文化中,密码不仅是军事和政治工具,更是一种艺术表达的形式。
战争与密码的永恒之舞
让我们暂时离开具体的历史场景,回到一个更根本的问题:为什么密码学在几乎所有已知的人类文明中都独立发展出来?是什么深层需求驱动着人们不厌其烦地发明各种方法来隐藏信息?
答案或许在于人类的一个基本特性:我们既是群居动物,又是竞争性动物。一方面,我们需要与同伴合作,传递信息,协调行动;另一方面,我们又必须与竞争对手博弈,在信息不对称中寻找优势。密码学恰好站在这两个需求的交汇点上——它允许我们在合作的同时保持秘密,在开放的同时实施控制。
公元前52年,罗马帝国的尤利乌斯·凯撒正在高卢前线指挥对维钦托利部的最后决战。这场战役的结果将决定罗马对整个高卢地区的控制权。凯撒面临着一个所有军事指挥官都曾面对的问题:如何在前线与后方之间传递敏感信息,而不被狡猾的日耳曼部落截获?
凯撒的解决方案是著名的凯撒密码——一种简单但有效的字母替换系统。在这个系统中,每个字母都会被替换成字母表中固定偏移位置后的另一个字母。例如,如果偏移量是3,那么字母A变成D,B变成E,Z变成C。要解密信息,接收者只需要知道偏移量,然后将字母反向替换即可。
这个系统的数学表达可以用下面的公式描述:
$$E(x) = (x + k) \mod 26$$ $$D(x) = (x - k) \mod 26$$
其中 $E(x)$ 是加密函数,$D(x)$ 是解密函数,$x$ 是明文字母在字母表中的位置(通常 A=0, B=1, ..., Z=25),$k$ 是密钥(偏移量),$\mod 26$ 表示模26运算(即结果除以26取余数)。
表面上看,凯撒密码似乎很容易被破解——只要尝试25种不同的偏移量,总有一种能产生有意义的结果。但这种“暴力破解”的方法有一个前提:敌人必须知道这是一种字母替换密码。而凯撒密码的真正价值在于它的混淆功能——即使信息被截获,敌人也需要花费时间来识别加密方式,而时间在战争中恰恰是最宝贵的资源。
更重要的是,凯撒密码可以被不断地改进。单一的字母替换可以演变成更复杂的多字母替换(维吉尼亚密码),字母频率分析可以被故意引入的拼写错误来干扰,密钥可以从单词扩展到句子甚至整本书。这些演变不是一次性完成的,而是在攻防双方的博弈中逐步发展的。
让我们通过一个具体的例子来理解凯撒密码的工作原理。假设我们想加密明文"CRYPTOGRAPHY"(密码学),密钥是3:
| 明文 | C | R | Y | P | T | O | G | R | A | P | H | Y | |------|---|---|---|---|---|---|---|---|---|---|---|---| | 位置 | 2 | 17 | 24 | 15 | 19 | 14 | 6 | 17 | 0 | 15 | 7 | 24 | | +3 | 5 | 20 | 1 | 18 | 22 | 17 | 9 | 20 | 3 | 18 | 10 | 1 | | 密文 | F | U | B | S | W | R | J | U | D | S | K | B |
所以明文"CRYPTOGRAPHY"在密钥3下加密后变成了"FUBSWRJUDVKB"。接收者收到这段密文后,只需要用密钥3反向替换,就能还原出原始信息。
凯撒密码的流行持续了数百年。即使在它被更复杂的密码系统取代之后,其基本原理仍然影响着现代密码学的发展。ROT13( rotate by 13 places)就是一种在互联网时代复兴的凯撒密码变体,被广泛用于隐藏论坛中的剧透内容或答案。
权力的游戏与信息控制
如果说战争是密码学发展的直接动力,那么权力斗争则决定了密码学应用的深度和广度。
1586年,苏格兰玛丽女王被押上审判台。这位曾经的苏格兰女王被指控参与了一场针对伊丽莎白一世的暗杀阴谋。如果罪名成立,她将面临处决。审判的关键证据是一系列被她烧毁但又被恢复的信件——这些信件是用当时最复杂的密码系统书写的,但伊丽莎白女王的情报人员成功地将它们破译了出来。
这是一个具有历史转折意义的时刻。密码破译技术第一次直接影响了欧洲君主制的命运。苏格兰玛丽女王的处决,不仅是政治阴谋的结果,更是密码学力量的证明。在随后的几个世纪里,欧洲各国君主纷纷建立了自己的密码破译机构,密码战成为了国家之间无声但残酷的较量。
这种权力与密码的关联,在中国历史上同样清晰可见。明朝的锦衣卫、东厂、西厂,清朝的军机处,都设有专门负责密码通信的机构。雍正年间的“密折”制度,允许官员用亲笔密封的奏折直接向皇帝报告,绕过正常的行政流程。这些密封奏折使用的密码系统被称为“御前呈递密折”,其具体内容至今仍是历史学家研究的课题。
密码在权力斗争中的角色,可以用一个现代的比喻来理解:它就像是一把双刃剑,既可以帮助掌权者控制信息流通,也可以帮助反叛者组织秘密行动。1644年,英国议会派与保皇派之间的内战期间,双方都使用了复杂的密码系统来协调行动。奥利弗·克伦威尔的议会军甚至成立了一个专门负责密码破译的部门,由数学家约翰·沃利斯领导。沃利斯后来成为了著名的数学家,他的密码学研究为现代密码分析学奠定了基础。
这种权力与密码的共生关系,在20世纪达到了新的高度。第一次世界大战期间,密码破译帮助英国海军在日德兰半岛海战中占据情报优势,尽管这场战役本身以德国舰队的战术胜利告终。第二次世界大战期间,盟军对德国恩尼格玛密码机的破译,被认为是二战胜利的关键因素之一,据估计至少缩短了战争两年时间,拯救了数百万生命。
爱情的密码
密码学并不总是与阴谋和战争联系在一起。在人类情感的私密领域,密码同样扮演着重要的角色。
中世纪的欧洲,骑士与贵妇之间的爱情往往需要通过隐秘的方式表达。玫瑰、书信、甚至一个特定的眼神,都可能承载着只有当事人才懂的含义。宫廷中流行的“爱情密码”系统,允许恋人们在众目睽睽之下传递情意绵绵的信息,而不会被家族长辈发现。
一个著名的例子是意大利文艺复兴时期的凯瑟琳·德·美第奇。据历史记载,她发明了一种用花语编写的密码信系统,被称为“花语密码”(Language of Flowers)。每种花都有特定的含义:红玫瑰代表爱情,百合代表纯洁,紫罗兰代表忠诚。通过精心选择花的种类和排列顺序,恋人可以编写出只有彼此才能理解的“花语信件”。这种密码系统在16世纪的欧洲宫廷中广泛流传,至今仍在文学和艺术中留下痕迹。
在中国古典文学中,爱情的密码同样屡见不鲜。崔莺莺与张生的《西厢记》故事中,两人通过红娘的传书递简,交换了大量充满暗语的情书。这些情书使用典故、双关语和隐喻来表达情感,既符合当时礼教对男女大防的要求,又满足了恋人之间私密交流的需要。
更具有密码学意义的是那些在特定历史时期被用来帮助有情人终成眷属的秘密渠道。在中国封建社会,包办婚姻制度使许多年轻人无法自主选择伴侣。一些大胆的恋人会利用密码来安排私奔计划,或者在无法直接见面的情况下维持联系。这些密码系统通常简单但有效,使用朋友之间的共同记忆(如某首歌、某个地点、某个日期)作为密钥。
爱情密码还有一个独特的特征:它们往往带有强烈的个人色彩。与军事密码追求普遍性和标准化不同,爱情密码追求的是独特性和私密性。每一对恋人可能都有自己的密码系统,这些系统可能只使用几次就会被废弃,因为它们的价值不在于长期的安全性,而在于那一刻的情感表达。
商业密码的兴起
当密码学在军事和政治领域大放异彩的时候,另一个领域也在悄然兴起——商业世界。
大航海时代带来了国际贸易的繁荣,同时也带来了一个棘手的问题:商船在漫长的航程中,如何与总部保持联系?如何确保竞争对手无法获取自己的商业计划?答案是显而易见的——商业密码。
17世纪中叶,荷兰东印度公司建立了世界上第一个跨国商业密码系统。这套系统不仅用于公司内部的通信保密,还被用来与远在亚洲的分支机构进行联络。荷兰商人意识到,在商业竞争中,信息就是金钱,而密码就是保护金钱的保险箱。
荷兰东印度公司的密码系统相当复杂。它使用一本名为“密码本”的词典作为密钥,词典中的每个词都有对应的数字代码。例如,“丝绸”可能对应“1523”,“阿姆斯特丹”对应“0742”。要发送一条商业信息,发送者只需要将每个词替换成对应的数字代码,然后将这些数字组合成密文发送出去。
这种基于词典的密码系统在商业世界中沿用了数百年。它的优势在于,即使敌人截获了密文,如果没有正确的密码本,就几乎不可能破译。这种“一次一密”的变体(每次通信使用不同的密码本或不同的页码)更是大大增加了安全性。
商业密码的另一个重要应用是防伪。在中世纪的欧洲,银行家们使用复杂的签名和印章系统来验证票据的真实性。但这些物理标识很容易被伪造。16世纪,意大利的银行家们开始使用一种叫做“密押”(cypher)的数字编码系统来验证文件。每个银行都有自己的密押,只有内部人员知道如何使用,而外部人员即使看到了密押数字,也无法理解其含义。
中国在商业密码发展上也有独特贡献。票号和钱庄使用的“票根”制度,本质上就是一种基于密码的防伪系统。每一张银票都有特定的编号和暗记,这些信息被同时记录在客户和票号的两本账簿中。当银票被出示时,票号会核对暗记,只有完全匹配的银票才会被兑现。这种系统在中国使用了数百年,直到现代银行业兴起。
密码学的基本概念
在深入探索密码学的历史和未来之前,我们需要建立一些基本的概念框架。这些概念将贯穿全书,帮助我们理解密码学是如何工作的,以及为什么它能起作用。
明文与密文
所有密码学都是从两个基本概念开始的:明文(Plaintext)和密文(Ciphertext)。
明文是指原始的、未经加密的信息。你想要传达的真实消息——无论是“明天黎明进攻”还是“我爱你”——在加密之前都是明