古代战争背后的密码
“柳边求气低,波他争日时。莺蒙语出喜,打掌与君知”;“春花香,秋山开,嘉宾欢歌须金杯,孤灯光辉烧银缸。之东郊,过西桥,鸡声催初天,奇梅歪遮沟。”这是两首看起来很平常的古诗词,如果不了解它们背后的玄妙之处,我们可能并不会把它们和“密码”二字联系到一块。
事实上,这两首诗歌是中国古代密码“反切码”的代表。它是明代抗倭名将戚继光为了在战争中传递信息,以防情报被窃取而使用的密码。反切码是在古代注音方法“反切法”的基础上创造的。“反切”在汉代出现,它的规则是用两个汉字拼写给一个汉字注音,取第一个字的声母和第二个字的韵母和声调。如“风”,房声切,取“房”的声母“f”和“声”的韵母“eng”,切出“风”这个字的读音是“feng”。这两首诗歌的精妙在于,取前一首诗歌“柳边求气低,波他争日时。莺蒙语出喜,打掌与君知”中的20个字的声母,依次分别编号1到20;取后一首诗歌36字的韵母,顺序编号1到36。再将当时字音的八种声调,也按顺序编上号码1到8,就形成了完整的“反切码”体系。
下面用“补给粮食”四个字的编码说明该“反切码”的使用方法:这四个字的编码分别是2-30、19-25、1-3、10-21。如在战场上想要传达“补给粮食”的情报只需传递这四对数字就可以达到目的。我们现在对照这两首诗来看,“2-30”对应的字分别是第一首诗的“边”和第二首诗的“初”。按照“反切法”的规则,取第一字的声母“b”和第二字的韵母“u”,两个字的声韵母结合到一起是“bu”,就会切出“补”字。(古代声调和现代有所不同,暂不做讨论)同理,“19-25”对应“君”和“西”,两字切出“给”。“1-3”对应“柳”和“香”,切出“粮”字。“10-21”对应“时”和“之”,两字切出“食”。这样依次把文字排列,再将当时字音的八种声调按顺序编上的号码写在各个编码的最后边,这样“补给粮食”的情报就被编写出来了。
在人类古代社会,信息的加密相对比较简单,古希腊人曾经用在头皮上写字或者刺青,然后等辨认头发重新长出的地方的方法用来加密。中国古代也有把大腿割破,藏入蜡丸,等着肉长好再传递信息的保密方法。古代的密码技术只是一种技巧而不是一种科学,制作密码的人往往是靠直觉和想象来进行密码的设计和分析,具有随机性和偶然性,而不是依靠严谨的推理和证明。这一点在古代的东西方国家有共通之处。
公元前405年,伯罗奔尼撒战争进入尾声。斯巴达统帅抓住一名雅典信使并在他身上搜到了一条布满杂乱无章字母的腰带,看起来并没有重要的信息。无意中,统帅将腰带缠到剑鞘上,突然发现杂乱的字母有序的对接到一起,浮现了重要的军事情报。这也是人类历史上最早的加密器械之一——斯巴达的“skytale”。“skytale”可译为“天书”,加密的操作过程是把一个带状物,如纸带、羊皮带或是皮革类的东西,呈螺旋形紧紧地缠绕在一根木棍上,之后沿着棍子的纵轴书写文字,在这条带状物解开后,上面的文字将会变得杂乱无章,收信人只需要一根同样直径的棍子重复这个过程,就可以看到明确的信息。它和高卢战争中的文字密钥——凯撒密码,是古代西方密码的代表。
中国也是世界上最早使用密码的国家之一。据《六韬》记载,3000年前姜子牙发明了“阴符”。它的方法是将鱼竿折成数节,每节的长短不一,各代表一件军机,令信使牢牢记住。如:长一寸为“大胜克敌”,长四寸为“败军亡将”,长六寸为“警众坚守”,长九寸为“破军擒将”。这后来广泛应用到我国古代的军事活动和情报活动中。中国最早的军事密码本——北宋的《武经总要》,也大量记录了中国古代已知的最早的军事情报通讯密码。该书作者收集了军队中常用的40种战斗情况,编成40条短语,分别编码。如:1请弓、2请箭、3请刀、4请甲、5请枪旗、6请锅幕、7请马、8请衣赐、9请粮料、10请草料。这套密码的使用方法是:将领带兵接受战斗命令出发前,军事指挥部门与其约定一首40字的五言律诗作为解码密钥,该诗文字不得重复,并发给一本有上述40个短语的密码本,诗中的每一字都对应一条短语,短语顺序在战前临时随机排列,该密码本只由通信双方极少数高级将领保管,在战斗中,前后方就按该密码本进行通讯。
“最尖端的军事技术其实是密码,你永远不可能理解其中的巨大代价与深奥”。密码学是一门古老而又新兴的学科,密码和文字的使用历史几乎是差不多长的。可以说有战争就会有情报的流通,而情报的流通势必牵扯到情报加密与破解的斗争,这大大促进了密码的快速发展。从古代战争到现代战争,密码也随着社会和科技的进步变得越来越复杂,从手工密码、机械密码发展到如今计算机时代的密码,密码战也越来越成为一项“高智商”的斗争。(科技日报)