古今密码学趣谈
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.2 古代中国军队的保密通信和身份认证方法

从古到今,军队历来是使用密码最频繁的地方,因为保护己方秘密并洞悉敌方秘密是克敌制胜的重要条件。正如中国古代军事著作《孙子兵法》中所说:知己知彼,百战不殆;不知彼而知己,一胜一负;不知彼不知己,每战必败。中国古代有着丰富的军事实践和发达的军事理论,其中不乏巧妙、规范和系统的保密通信和身份认证方法。

1.中国古代兵书《六韬》中的阴符和阴书

中国古代军事著作《六韬》又称《太公六韬》或《太公兵法》,据说是由西周的开国功臣太公望(又名吕尚或姜子牙,约公元前 1128—公元前 1015)所著。书中以周文王和周武王与太公问答的形式阐述军事理论,其中《龙韬·阴符》篇和《龙韬·阴书》篇,讲述了君主如何在战争中与在外的将领进行保密通信。以下是其译文与原文。

阴符

武王问太公说:领兵深入敌国境内,军队突然遇到紧急情况,战事或有利,或失利。我要与各军远近相通,内外相应,保持密切的联系,以便及时应对战场上军队的需求,应该怎么办呢?

太公回答说:国君与主将之间用阴符秘密联络。阴符共有八种:一种长一尺,表示大获全胜,摧毁敌人;一种长九寸,表示攻破敌军,杀敌主将;一种长八寸,表示守城的敌人已投降,我军已占领该城;一种长七寸,表示敌军已败退,远传捷报;一种长六寸,表示我军将誓死坚守城邑;一种长五寸,表示请拨运军粮,增派援军;一种长四寸,表示军队战败,主将阵亡;一种长三寸,表示战事失利,全军伤亡惨重。如奉命传递阴符的使者延误传递,则处死;如阴符的秘密被泄露,则无论无意泄密者或有意传告者也处死。只有国君和主将知道这八种阴符的秘密。这就是不会泄露朝廷与军队之间相互联系内容的秘密通信语言。敌人再聪明也不能识破它。

【原文】武王问太公曰:引兵深入诸侯之地,三军卒有缓急,或利或害。吾将以近通远,从中应外,以给三军之用,为之奈何?

太公曰:主与将,有阴符,凡八等。有大胜克敌之符,长一尺。破军擒将之符,长九寸。降城得邑之符,长八寸。却敌报远之符,长七寸。警众坚守之符,长六寸。请粮益兵之符,长五寸。败军亡将之符,长四寸。失利亡士之符,长三寸。诸奉使行符,稽留,若符事闻,泄告者,皆诛之。八符者,主将秘闻,所以阴通言语,不泄中外相知之术。敌虽圣智,莫之能识。

阴书

武王问太公说:领兵深入敌国境内,君主和将帅各率一军,要使两支军队配合作战,实施变化无穷的作战方法,谋取敌人意想不到的胜利。但需要联络的事情很多,使用阴符难以说明,而两军之间又距离遥远,言语不能通达,应该怎么办呢?

太公回答说:如果有军机大事需要联络,应该用书信而不用符。君主通过书信向主将指示,主将则通过书信向君主请示。书信都要拆分成三部分,并分派三人发出,每人拿一部分。只有这三部分合在一起才能读懂信的内容。这就是所谓的阴书(机密信),敌人再聪明,也看不懂这种书信。

【原文】武王问太公曰:引兵深入诸侯之地,主将欲合兵,行无穷之变,图不测之利,其事繁多,符不能明,相去辽远,言语不通,为之奈何?

太公曰:诸有阴事大虑,当用书,不用符。主以书遗将,将以书问主。书皆一合而再离,三发而一知。再离者,分书为三部。三发而一知者,言三人,人操一分,相参而不相知情也。此谓阴书。敌虽圣智,莫之能识。

“阴符”和“阴书”中的“阴”显然是指“机密”,“符”是指“符号”,也有编码的意思;而古文中的“书”是指“信件”或“文件”。所以,按照字面意义理解,“阴符”和“阴书”就是后来密码学中的“密码”和“密文”。其中“阴书”的加密方法并不是古代西方常用的逐字(或逐字母)加密,而是整体加密,即只有获得全部文字信息才能看懂其中的内容,这与现代密码学中的一些加密技术相似。

2.中国宋代兵书《武经总要》中的符契、信牌和字验

《武经总要》是北宋仁宗时期官修的一部兵书,成书于1040年—1044年,作者是天章阁待制曾公亮和工部侍郎丁度。该书前集第15卷中有“符契”、“信牌”和“字验”三节,专门讲述军队中秘密通信和身份验证的方法。

“符契”是《六韬》中“阴符”方法的改进。其中的“符”是皇帝派人向军队调兵的凭证,共有 5 种符,各种符的组合表示调用兵力的多少,每符分左右两段,右段留京师,左段由各路军队的主将收掌。使者将带着皇帝的命令和由枢密院封印的相应的右符,前往军队调兵;主将听完使者宣读皇帝的命令后,须启封使者带来的右符,并与所藏的左符验合,才能接受命令;然后用本将军的印重封右符,交由使者带回京师。

【原文】符长五寸,阔二寸,厚六分。上面刻篆字曰:某处发兵符。下面铸虎豹为饰。中分为二段,牙槽相合。右一段左旁作虎豹头四枚,左一段右旁开四窍,为勘合之处。先勘合讫,却将篆文面相向合定,于侧向刻十干字为号。其第一符,勘己字为合。第二符,勘乙庚字为合。第三符,勘丙辛字为合。第四符,勘丁壬字为合。第五符,勘戊癸字为合。左符,即全刻十干半字;右符,即依次刻甲己等两半字。右五段留京师,左五段降付逐道主将收掌。凡发兵马,全指挥或三百人以上至五千人,用一虎一豹符;五千人以上,用双虎只豹符。以下符之法委枢密院,以右符第一为始,盛以木函,封以本院印,与宣命相副,付于使臣。宣内具言:下第一符发兵马若干。主将遇宣与符,即将左符看验得合,乃为兴发。发讫,即以本司印封题右符,还付使臣,归京,仍飞驿别奏。凡主将所掌符契,专择一官为腹心典领。

“契”是主将派人向镇守各方的下属调兵的凭证,共有三种契,每契都是鱼形,可分为上下两段。上段留主将收掌,下段交各处下属收掌,使用方法类似于上述的符。

【原文】本契长七寸,阔二寸,厚一寸五分。上下面并题云:某处契。中剖为上下二段,上段内为鱼形,并题一二三次第,下段内刻空鱼,为勘合之处。左侧题云:左鱼合;右侧题云:右鱼合。上三段,下一段,上三段留主将收掌,下一段付诸军州城寨主收掌。凡主将差发兵马百人以上,先发上契第一段,盛以皮囊,封以本司印,并文牒相副,遣指使或职员赍付。文牒内具言:发第一契兵马若干。其州县城寨主得牒与契,即将下契与上契勘验,得合,乃交付兵马。付讫,其上契却用本司印封题,发付使人赍归。其第二、第三契差发勘合,并如下第一契条约。如再有抽发,即依次用之,周而复始。其收掌给受委官置籍,一准符制。

“信牌”是两军阵前交战时,派人传送紧急命令的信物和文件。北宋初期使用的信物是一分两半的铜钱,后来改用木牌,上面可以写字。

【原文】宋大将石普上言:北面抗敌行阵间,有所号令则遣人驰告,恐失计划,复虞奸诈,请令将帅各持破钱造牌,遇传令,合而为信。真宗以古有兵符,废之已久,因制漆木为牌,长六寸,阔三寸,腹背刻字而中分之,置凿柄,令可合。又穿二窍,容笔黑,上施纸扎。每临阵,则分而持之;或传令,则书其言,而系军吏之颈,至彼,合契,乃书复命焉。

“字验”则是秘密传送军情的一套方法。先约定 40 种不同的军情,然后用一首含有 40个不同字的诗,令其中每一个字对应一种军情,见图1-1。传送军情时,写一封普通的书信或文件,在其中的关键字旁加印记。军使在送信途中,不怕被敌方截获并破解信中内容。将军们收到信后,找出其中加印记的关键字,然后根据约定的40字诗来查出该字所告知的情况,还可以在这些字上再加印记,以表示对有关情况的处理,并令军使带回。

图1-1《武经总要》中的“字验”

【原文】字验旧法:军中咨事,若以文牒往来,须防泄漏;以腹心报覆,不惟劳烦,亦防人情有时离叛。今约军中之事,略有四十余条,以一字为暗号:

请弓、请箭、请刀、请甲、请枪旗、请锅幕、请马、请衣赐、请粮料、请草料、请车牛、请船、请攻城守具、请添兵、请移营、请进军、请退军、请固守、未见贼、见贼讫、贼多、贼少、贼相敌、贼添兵、贼移营、贼进兵、贼退兵、贼固守、围得贼城、解围城、被贼围、贼围解、战不胜、战大胜、战大捷、将士投降、将士叛、士卒病、都将病、战小胜。

右凡偏裨将校受命攻围,临发时,以旧诗四十字,不得令字重,每字依次配一条,与大将各收一本。如有报覆事,据字于寻常书状或文牒中书之,加印记所请。得所报知,即书本字,或亦加印记。如不允,即空印之,使众人不能晓也。

我们看到,宋代的“字验”方法与近代以来军队、外交官和间谍们常用的借助密码字典进行秘密通信和联络的原理相同。

3.中国古代军队使用的虎符和信牌

古代中国的君王常以虎符作为调用军队的凭证。如在春秋战国时期,就有魏信陵君使如姬窃取魏王的虎符,并以此夺取大将晋鄙的兵权,然后率兵大破秦军,以解赵国之围的故事。虎符一般由铜、银等金属制成,背面刻有铭文,以示级别、身份、调用军队的对象和范围等;虎符分为两半,一半放在朝廷,另一半由在外的将帅保管。朝廷派来的使者,需携虎符验合,才可调兵遣将。图1-2据说是秦始皇调用军队的虎符,图1-3是清皇太极调用军队的满文信牌。

图1-2 虎符

图1-3 信牌

上述的虎符、信牌和符契,都具有验证身份的作用。

顺便解释“符”字:其本义是指古代朝廷下命令的凭证;部首的“竹”表明最早的“符”是用竹子做的;“符”通常做成两部分,使用时一分为二,验证时合二为一;只有同一符的两部分才能完美地合在一起;这就是常用词“符合”的来历。近代间谍史上,常有人把纸币钞票一撕为二,作为接头联络的工具,其原理同“符”。现代密码学中,运用公钥-私钥体系进行身份认证的方法也与“符”相通。

4.古代中国的隐写术——矾书

矾书就是用明矾水写的书信。当水干后,纸上毫无字迹,把纸弄湿后,字迹重新显现。据记载,矾书是中国古代军事和政治斗争中常用的秘密通信方法。如南宋李心传(1166—1243)所撰的《建炎以来繫年要录·建炎元年正月》中有:

曹辅至兴仁,守臣徽猷阁待制赣县曾楙詰之,辅乃裂衣襟出御笔蜡封,乃枢密院矾书,以遗楙。(据“汉典网”)

这段话的大意是,曹辅来到兴仁县城,守城的长官(官拜徽猷阁待制、江西人)曾懋审问他,他就把衣襟撕开,取出有皇帝笔迹的蜡封密件,其中是枢密院用明矾写的机密信,并把它交给了曾懋。

成书于元代的《金史·宣宗纪上》中有:“太原府宣抚使乌古论礼,遣人间道齎矾书,至京师告急。”意为太原府的军事长官乌古论礼,派人带着用明矾写的机密信走偏僻的小路赶到京师向皇帝告急。

清康熙五十四年(1715年)发生过“矾书事件”:太子胤礽托人把矾书交给正红旗满洲都统镇国公普奇,请他代为保举自己出任领兵的大将军。矾书后来被他人看到,并向皇帝告发。

隐写术从严格意义上讲不属于密码学,但它也是一种自古以来常用的秘密通信手段。随着科学技术的发展,基于种种物理、化学原理的隐写术也越来越精妙,被广泛应用于军事、外交和谍报战线。到了计算机网络时代,隐写术同密码术一样,也有了基于数字化技术的发展,如把信文隐藏在图像、声音或视频文件中。

5.清初《兵经百言》对中国古代军事通信方法的总结

我国明末清初著名的军事理论家揭暄(1613—1695)所著的《兵经百言》用100个字条系统阐述了中国古代的军事理论。其中的“传”字诀则是古代军队通信方法的总结,其解释和原文如下:

军队分开行动后,如相互之间不能通信,就要打败仗;如果能通信但不保密,则也要被敌人暗算。所以除了用锣鼓、旌旗、骑马送信、燃火、烽烟等联系外,两军相遇,还要对暗号(口令)。当军队分开有千里之远时,宜用机密信(素书)进行通信。机密信分为三种:改变字的通常书写或阅读方式(“不成字”,如传统密码学的文字替换或移位方法);隐写术(“无形文”,用含有某种化学物质的液体来书写,收信者用特殊方法使文字显现出来,如前述的矾书);不是把书信写在常用的纸上(“非纸简”),而是写在特殊的、不引人注意的载体上(如服饰,甚至人体上等)。这些通信方式连送信的使者都不知道信中的内容,但收信人却可以接收到信息。

【原文】军行无通法,则分者不能合,远者不能应。彼此莫相喻,败道也。然通而不密,反为敌算。故自金、旌、炮、马、令箭、起火、烽烟,报警急外;两军相遇,当诘暗号;千里而遥,宜用素书,为不成字、无形文、非纸简。传者不知,获者无迹,神乎神乎!