密码简史:穿越远古 展望未来
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.2 周朝密码

谈及周朝的密码专家,首当其冲的,当然该是周文王及其第四子周公;若允许再宽泛一点的话,那就还有春秋末期的孔子。为啥要穿越数百年将孔子也硬塞在这里呢?主要原因有三:其一,文王、周公和孔子等,共同合作完成了中国历史上最重要的密码系统——《易经》;其二,孔子虽然身居春秋末期,但他的心却从来就属于周公,他是周文王的铁杆粉丝,对恢复周朝礼制更是念念不忘;其三,也是最关键的一点,本书希望内容更加紧凑,毕竟《易经》的创作过程延续了数百年之久,如果分散逐段介绍的话,那就会显得太零乱,更少不了一些无法回避的重复。幸好,这三位密码专家的名声早已如雷贯耳,所以下面就只介绍他们的密码系统——八卦;而且,与过去所有文献不同的是,我们将以密码语言而非八卦语言来展开叙述。

本书序中已经说过,所有符号系统都可当作密码;同样,所有密码也是某种符号系统。与前面介绍过的密码系统不同,《易经》其实是基于图像符号的密码系统。具体来说,相传在上古时,人们“仰则观象于天,俯则观法于地;观鸟兽之文与地之宜;近取诸身,远取诸物,始作八卦,以通神明之德,以类万物之情”;于是,伏羲氏创造先天八卦,神农氏创造连山八卦,轩辕氏创造归藏八卦。由于那时还没文字,所以,古人只好用画图方式,直接绘出如今众所周知的八卦卦象:用“—”代表阳,用“- -”代表阴;用一套所有可能的8种三组阴阳,构成完整的符号体系,其实也可看成最早的文字表述符号。实际上,若用1代表阳,用0代表阴;那么,从数学上看,八卦的卦象就等价于0到7这八个阿拉伯数字的二进制表示,或所有可能的三维二进制向量,每个向量就代表一个卦,向量中的每个比特就代表爻,1是阳爻,0是阴爻。从形式上看,八卦成列,象在其中;刚柔相推,变在其中。从功用上看,古人希望用八卦中的阴阳变化规律,来模拟万事万物自身的变化规律;甚至希望用这些模拟的规律,去预测人间吉凶祸福;用简单的图像和阴阳的对立变化,来阐述纷纭繁复的社会现象,以少示多,以简示繁。

关于这些卦象及爻的含义,那就相当热闹了,过去数千年来,无数绝顶聪明的中国人都做了不少很有价值的研究工作,以致将八卦演绎成了形而上的哲学体系,乃至与人们的日常生活都密切相关。八卦的玄妙之处数不胜数,本书不打算重复这些深奥的内容,只是想强调:其实,任何一个符号系统,都可被注入无穷多的含义;八卦系统的含义,也是若干精英人士,经过数千年时间,从不同的角度,以不同的方式,注入不同的卦和不同的爻中;所以,八卦的含义其实相当杂乱,既有精华,也有糟粕,既有虔诚的信徒,也有混饭吃的骗子,反正,八卦这个密码系统变得越来越复杂,其破译难度也不断增大;不过,试图破译该密码的智者却从未间断过。

以周文王为代表的密码专家,就是首批试图用文字这种符号系统,去破译或解释八卦图像系统的学者。但是,客观地说,这种思路虽然会取得许多重要成果,但却永远也不会完全成功;实际上,试图用一种符号系统去解释另一种符号系统的做法,几乎都不会彻底成功,因为不同的符号系统之间,天生就具有一些数学上不等价部分,否则,它们就是同一个系统了。比如,任何一幅世界名画,即使是最权威的品鉴专家,甚至是画家本人,也都无法用文字将该画的全部含义表达出来,肯定会留下许多“只能意会,不可言传”的遗憾;而且,不同的人,甚至同一个人在不同的时间欣赏同一幅画时,也可能产生不同的意境。但是,如果给这张画取个名称,比如叫“日出”,那么观众的注意力就能明显聚焦了;如果再配上适当的文字简介,那么普通观众也许就能基本看懂了;如果再有专家进行详细讲解,当然也是用文字符号系统来讲解,那么观众能体会到的奥妙就更多了。

针对八卦这种图像符号系统,周文王的破译工作主要包括:首先,给每个卦象取了一个文字名称,分别称之为“乾()、震()、坎()、艮()、坤()、巽()、离()、兑(),或用歌谣表述为“乾三连,坤六断,震仰盂,艮覆碗,离中虚,坎中满,兑上缺,巽下断。”其次,对每个卦给出了卦辞(比如,乾、元、亨、利、贞等),这相当于对每幅作为图像的卦象给出了一个简介。接着,将八卦扩展为64卦,即6组阴阳构成的全部符号系统,或所有可能的六维二进制向量,每个向量就代表一个卦,向量中的每个比特就代表一个爻;于是,便有总计64卦,384个爻。最后,周文王还给所有这64个卦都分别取了卦名,给每个卦名相应地配上了简要的卦辞。由于64个卦辞的内容太多,无法在此复述;不过,卦辞的主要内容,无非涉及四个方面:(1)自然现象变化;(2)历史人物事件;(3)人事行为得失;(4)吉凶断语。卦辞的通例为,先举出暗示意义的形象,或举出用于隐喻的事例,然后写出吉凶的断语。具体可分为:先叙事而后断吉凶,先断吉凶而后叙事;单叙事而不言吉凶,单言吉凶而不叙事;或叙事、断吉凶,再叙事,再断吉凶等不同体例。卦辞涉及狩猎、旅行、经商、婚姻、争讼、战争、饮食、享祀、孕育、疾病、农牧等事项,还记载了西周初期以前的历史事件,如殷宗伐鬼方、帝乙归妹等故事。不少卦辞具有深刻的哲理。

再后来,周文王的第四子周公,还嫌父亲的破译不够彻底;于是,对所有384个爻,再加乾卦和坤卦的各一个用爻,共386个爻,都分别取了爻名;比如,初九、九二、九三、九四、九五、上九、用九,初六、六二、六三、六四、六五、上六、用六等。其中,每个爻名都由两个字组成:一个表示爻的性质,阳爻记为“九”,阴爻记为“六”;另一个表示爻的次序和位置,自下而上,分别记为初、二、三、四、五、上;比如,“初九”就表示最底端的一个阳爻,而“初六”则表示最顶端的一个阴爻等。接着,周公又给每个爻也配上了简短的爻辞,比如,乾卦的初九爻的爻辞就是“潜龙勿用”,乾卦特有的“用九”爻的爻辞就是“见群龙无首,吉”,坤卦特有的“用六”爻的爻辞就是“利永贞”。爻辞的体例内容、取材范围等与卦辞相似,许多爻辞都富有哲理,比如,“无平不陂,无往不复”(泰卦,九三爻),“三人行则损一人,一人行则得其友”(损卦,六三爻)等。至此,《易经》的《经》部就基本成型了。

又过了500多年,孔子觉得光有卦名、卦辞、爻名和爻辞,仍不过瘾,“普通观众仍看不懂这些名画”;于是,又对周文王和周公创立的《经》,给出了更加详细的解释,这便是如今名为《传》的部分,它是解释《经》部的最原始、最权威的文字。《传》由七篇文章组成,分别是《彖传》《象传》《系辞传》《文言传》《说卦传》《序卦传》《杂卦传》,加上另外四篇合成“十翼”。其中的《系辞传》最具道家特点,它总论了《易经》的大义,解释了卦爻辞的意义及卦象爻位,所用的方法有取义说、取象说、爻位说;还论述了求卦过程,解释了《经》的筮法、卦画的产生和形成,给出了4种圣人之道:察言、观变、制器(也叫成器)、筮占等。《传》的部分,内容太多,此处无意复述,但是必须指出的是,《传》的某些内容,确有夸大之嫌;比如,声称“《经》有太极,是生两仪,两仪生四象,四象生八卦,八卦定吉凶,吉凶生大业”,这显然是不可能的。不过,截至孔子的破译工作之后,八卦图像符号系统的文字符号解释,即《易经》就基本成型了。在接下来一直到今天的数千年中,众多各界人士就前赴后继地对《易经》进行了更加丰富且与时俱进的解释,当然,也仍然是用文字符号系统来解释,所以就产生了无穷多的歧义,甚至始终没有且永远也不会达成完全的共识。所以建议大家今后读《易经》时,千万别照搬任何人的一家之言;实际上,每个人每次读《易经》时,也都会有不同的感觉。

既然不可能用文字去完整解释作为图像符号系统的八卦,那么过去三千多年来人们的努力难道就真的白费了吗?当然不是!实际上,整个人类一直就在追求根本不可能实现的目标,比如,长生不老或无所不能;但是,在追求目标的过程中,却取得了许多有价值的阶段性成果,比如,炼金术士虽未能真的炼出黄金,但却创立了化学等现代学科。同理,中国人在追求用文字解读八卦图像的过程中,也取得了许多重要成果,以至使得《易经》成了中华文明的源头活水、安邦治国和修身养性的典籍、中国古代杰出的哲学巨著、群经之首、设教之书和“大道之源”等。《易经》改变了中国古代的文化发展轨迹,决定了今天的文化基质,奠定了中华文化的重要价值取向,对中国几千年来的政治、经济、文化等各个领域都产生了极其深刻且不可替代的巨大影响:无论是孔孟之道,老庄学说,还是《孙子兵法》,抑或《黄帝内经》和《神龙易学》等,都无不和《易经》有着密切的联系。总之,《易经》已成为中华民族智慧与文化的结晶;甚至,以八卦为代表的易学文化,还渗透进了东亚文化的各个领域,开创了东方文化的特色。

除周文王和周公之外,周朝初期还有另一位不可忽略的密码学家,他就是商末周初杰出的政治家、军事家、韬略家、兵家鼻祖、武圣、百家宗师、周朝开国元勋、周文王的军师姜子牙。这位生于公元前1156年左右,卒于公元前1017年左右,寿年高达约139岁的奇才,绝对是世间少见。他的先祖曾辅佐大禹治水有功,被封在申地,并姓姜;可经过夏、商两代后,姜姓后代逐渐沦为平民;待到姜子牙出世时,家境早已败落,所以,年轻时的姜子牙既当过宰牛卖肉的屠夫,也当过店小二,甚至经常无米下锅。但姜子牙人穷志不短,始终坚持学习天文地理、军事谋略;认真研究治国安邦之道,期望有朝一日能施展才华,可直到70岁时仍然一无是处,闲居在家。72岁那年,姜子牙在渭水钓鱼时,偶遇了外出狩猎的周文王;两人一见面,刚聊几句,文王就大喜过望,认定自己终于找到了盼望已久的“圣人”,于是,赶紧用自己的专车,把姜太公接回了王府,并尊为太师;这便是典故“姜太公钓鱼,愿者上钩”的来历。

为了早日灭掉商纣王,姜子牙辅佐周文王积善修德,明道行仁;对外促使文王笼络对纣王不满的其他诸侯国,并保持对商纳贡,以使纣王放松警惕;对内施爱民之策,行惠民之事,提倡生产,训练兵马。终于使得天下三分之二的诸侯国,都归心向周。周文王死后,周武王即位,并尊姜子牙为“师尚父”。军队出师之际,姜子牙左手持黄钺,右手握白旄誓师,命令说:“苍兕苍兕,统领众兵,集结船只,迟者斩首。”于是,兵至盟津;各国诸侯不召自来者,有八百之多。诸侯都说:“可以征伐商纣了。”但武王和姜子牙却说:“时机未到,速班师而还。”又过了两年,商纣杀死了比干,囚禁了箕子,荒淫暴虐到了极点。姜子牙见时机成熟,就向武王建议,通告诸侯共同伐商。发兵时武王占卜不吉,行军途中又遇暴风骤雨,众人曾一度动摇;但姜子牙却力排众议,坚定了武王伐纣的信心。很快,周军就到达商都朝歌郊外70里处的牧野,商纣王也集结了70万兵马赶至牧野。战幕一揭开,姜子牙就亲率精锐先锋在前面挑战,随后武王率大队人马从后面攻击商军。商军虽然人多势众,但士卒与纣王离心离德,纷纷倒戈。纣王见大势已去,急忙逃回朝歌,登上鹿台,自焚而死。姜子牙引武王进入朝歌,诏告天下:商朝灭亡,周朝诞生。武王灭商后,同姜子牙等人商议,把全国分成若干侯国,由周天子分封给在灭商大业中做出贡献的姬姓亲族和有功之臣建都立国,充当周朝统治中心的屏障,即所谓“封建亲戚,以藩屏周”。姜子牙功勋卓著,被首封于齐地营丘(今淄博市)建立齐国,以稳定东方。

中国古代的兵论、兵法、兵书、战策和战术等一整套的军事理论学说,就其最早发端、形成体系、构成学说来说,都始自齐国,源自姜太公,所以说姜太公也是当之无愧的兵家宗师、齐国兵圣、中国武祖,更是密码大家。若无姜太公的军事理论及其所建立的齐国兵家,则不会有如此博大精深、智谋高超、理论完整、源远流长、绵延不断、影响巨大的中国兵学理论学说。中国古今著名的军事家孙武、鬼谷子、黄石公、诸葛亮等都吸收了姜太公的《六韬》精华;总之,姜太公的文韬武略,至今还在影响着全球的政治、经济、管理、军事、科技等。

现有文字资料显示,中国最早的保密手段就出现在姜太公的《六韬》中,其中最有代表性的密码,就是所谓的“阴符”。据说早在公元前11世纪的周武王时期,姜太公就经常使用阴符来传递机要情报。所谓“阴符”就是一种符节,由通信双方事先约定不同长度的符节所代表的意思,比如,长1尺为“大胜克敌”,长9寸为“破军擒将”,长8寸为“降城得邑”,长7寸为“敌军败退”,长6寸为“士众坚守”,长5寸为“请求增援”,长4寸为“败军亡将”,长3寸为“失利亡士”等。当然,从理论上说,阴符长度的含义,可由通信双方事先任意约定;正如任何符号系统中,符号形体所对应的含义可以事先任意约定一样。

阴符的发明过程也很有传奇色彩。据说,有一次,叛军包围了姜子牙的周军指挥大营,情况危急;姜太公令信使突围,回朝搬兵;他既怕信使遗忘机密,又怕周文王不认识信使,耽误军务大事,就将自己珍爱的鱼竿折成数节,每节长短不一,各代表一件军机,令信使牢记,不得外传。信使几经周折回到朝中,周文王令左右将几节鱼竿合在一起,亲自检验,果然那鱼竿是姜太公的心爱之物,于是文王亲率大军到事发地点,解了姜太公之危。劫后余生的姜太公,拿着那几节折断的鱼竿,突然妙思如泉涌,便将鱼竿传信的办法加以改进,发明了“阴符”。

后来,阴符的用途又得到了进一步发展;比如,阴符被用于帝王授予臣属兵权和调动军队的凭证,成了兵权的象征。一符从中剖为两半,有关双方各执一半;使用时两半若互相扣合,则表示验证可信。阴符的使用盛行于战国及秦汉时期。凡率兵出征的统帅,或带兵屯守边疆的将领,都由国君任命。在任命时,把阴符的一半交给将领,另一半留于君主。平时将领只负责带兵,用兵时必须在验证了“国君的那半个阴符与将军所掌握的那半阴符完整扣合”之后,才能生效;否则,任何人都不得擅自调动军队。历史上广为流传的“窃符救赵”故事,就是一个例证:窃得了敌方阴符的另一半,也就等于掌握了敌方的相关军队。

《六韬》中还记载了另一种信息保密手段,名叫“阴书”,它其实是“阴符”的一种改进版本,它将一封竖写的密信,横截成3段;然后,分别委派3人各执一段,于不同时间、不同路线分别出发,先后送达收件者。收件者获得了所有3段残片后,只需重新拼接,便能悉知密信的全部内容;万一某位信使被截,敌方也难知悉全部密信内容。

阴书的思路一直被全世界沿用至今,且不说司空见惯的金库钥匙管理方案,即由三人各自保管钥匙的一部分,只有三人同时到场时,才能一起合作打开金库,任何1个人或2个人都只能“望锁兴叹”;甚至在现代密码学的理论中,也仍然能看到阴书的痕迹,比如,在著名的“秘密共享算法”中,核心密钥被从逻辑上拆分为n个部分,并将它们分散给不同的管理者,使得只有当这n个保管者中的至少kkn)个人同时协作,才能恢复出那个核心密钥,否则,任何其他人都不可能获得有关该核心密钥的任何信息。当然,这里的拆分是逻辑上的,而非物理上的,比如,假若核心密钥是一个数c,那么,就可以将c看成某个k-1次多项式f(x)的常数项;然后,任选k个不同的数x1, x2,…, xk,计算出函数值f(xi),并将它分配给第i个保管者。于是,当任何k个保管者贡献出他的函数值后,大家便可得到k个独立的线性方程,从中便可求解出函数f(x)的所有系数,当然也就包括那个作为核心密钥的常数项c。秘密共享是一种将秘密分割存储的密码技术,其目的是阻止秘密过于集中,以达到分散风险之目的,是信息安全和数据保密中的重要手段。

周朝最著名的密码故事,也许要算“周幽王烽火戏诸侯”了。这位周幽王是西周的第十二任,也是最后一任君主。原来,早在商朝时,就出现了另一种同时具有通信报警和保密功能的东西,那就是妇孺皆知的烽火:白天放烟,夜间举火。烽火所表示的含义至少有六种,不仅包括有无来犯之敌,还包括敌人的数量,进犯的方向,甚至还有军情误报的处理等。其实,烽火只是一种符号,它的含义可以事先任意约定。

“周幽王烽火戏诸侯”的故事是这样的:相传,3000多年前,周朝幽王性情残暴,喜怒无常。自从绝代佳人褒姒入宫后,幽王便终日被其美色所迷,但褒姒却从来不笑,这使得幽王颇感美中不足。他曾绞尽脑汁想逗褒姒一笑,但都失败;于是,幽王下了一道圣旨:凡宫内宫外之人,若能使褒姒一笑者,赏黄金千两。奸臣虢石父想了一计,他告诉幽王:“先王在世时,因南戎强盛,唯恐侵犯因此在骊山设置了二十多处烽火台,又设置了数十架大鼓。一旦发现戎兵进犯,便放狼烟,让烟火直上云霄,附近诸侯见了,就发兵来救。若要褒姒一笑,不妨带她去游骊山,夜点烽火,众诸侯一定领兵赶来而上个大当,褒姒看后必定发笑。”幽王一听,立即备了车仗,同褒姒来骊山游玩。

当时有一个诸侯,名叫郑伯友,听到此事,大吃一惊,赶紧劝阻周幽王道:先王设置烽火台是为应急之用,若无故点火,戏弄诸侯,一旦戎兵侵犯,再点烽火,有谁信之?那时何以救急?幽王不听,并令立即点火。附近诸侯看到烽火点燃,以为京都有敌进犯,个个领兵点将前往骊宫;待到骊山下时,却不见一个敌兵,只听宫内弹琴唱歌,便议论纷纷。这时幽王正和褒姒饮酒作乐,听得诸侯到来,便派人去向诸侯道谢说:“今夜无敌有劳各位。”诸侯听了面面相觑,只好带了兵卒,恨恨离去。这时褒姒在楼上见众诸侯白忙一阵,不觉拊掌大笑。幽王狂喜,当即重赏虢石父。

幽王的所作所为,触怒了申国侯。申国侯便联结南戎三面包围了京都。虢石父赶紧面奏幽王:“情况紧急,快派人去骊山点燃烽火,召集诸侯以御敌兵。”幽王立即派人点了烽火,但由于上次失信,各个诸侯认为天子又在开玩笑,都按兵不动。幽王等不到救兵,只好带着伯服和褒姒逃走,半路上被戎兵捉住,戎主杀了幽王、伯服,但见褒姒容貌美丽便没杀她。这就是“一笑失江山”的典故。当然,有关周幽王烽火戏诸侯的故事,目前史学家还有争议;另一种观点是:这个故事是后人杜撰的,实际上是周幽王主动侵略别人,结果兵败身亡。