我们紧接着上一篇的问题:为什么我国的史料中关于应用移位法加密的例子少之又少呢?
很多聪明的朋友应该已经想到了,因为汉语并不像英语那样,从a到z26个字母按固定顺序排列,而汉字并没有固定的顺序可以遵循,这就导致移位法加密不会在汉语中得到大规模的应用。
实际上,汉语中也存在用移位法加密的例子,但情形很少,而且多集中于一种情形——藏头诗。按格式写好一首诗,然后依次读取每句诗的第一个字(或是第N个字),连起来就是要传递的消息,也就是明文,而整首诗就是它的密文。这种加密形式我们在周星驰的电影《唐伯虎点秋香》中有过生动的了解。
我们能够注意到,移位法加密应用的关键就是,它的内容一定要依循某个格式或者规律,也就是原始的“位置”,这样“移位”才可能产生。
而替代法则不同,它是把要加密的字符用其他的字符替代,从而达到加密的效果。比如电影《蜘蛛侠》中的名句:
“With great power comes great responsibility.”(能力越大,责任越大。)
如果将把其中的元音字母a都用z代替,e用y代替,i用x代替,o用w代替。就成了一段谁也看不出来的文字:
“Wxth gryzt pwwyr cwmys gryzt ryspwnsxbxlxty.”
这种方法虽然看上去很基础,但确实很管用,所以它广泛运用了接近4000年的时间。
北宋时期,中国出现了用于军事保密通信的代码。
《武经总要》记载,北宋进士曾公亮曾搜集了40个常用军事短语,然后对其进行顺序编码:
一、请弓 二、请箭 三、请刀 四、请甲 五、请枪旗
六、请锅幕 七、请马 八、请衣赐 九、请粮料 十、请草料
十一、请车牛 十二、请船 十三、请攻城守具 十四、请添兵
十五、请移营 十六、请进军 十七、请退军 十八、请固守
十九、未见贼 二十、见贼讫 二十一、贼多 二十二、贼少
二十三、贼相敌 二十四、贼添兵 二十五、贼移营
二十六、贼进兵 二十七、贼退兵 二十八、贼固守
二十九、围得贼城 三十、解围城 三十一、被贼围
三十二、贼围解 三十三、战不胜 三十四、战大胜
三十五、战大捷 三十六、将士投降 三十七、将士叛
三十八、士卒病 三十九、都将病 四十、战小胜。
军队出征前,指挥机关将用上述短语编码的密码本发给将领,并约定用一首不含重复文字的五言律诗与密码相对应。
之所以用五言律诗,是因为其前后八句,每句五字,一共四十字,正好与密码一一对应,而且律诗格律严谨,一般很少出现重复的字。比如事先约定用王维的《山居秋瞑》:
空山新雨后,天气晚来秋。明月松间照,清泉石上流。
竹喧归浣女,莲动下渔舟。随意春芳歇,王孙自可留。
如果军队需要补充马匹,前方将领就从密码本中查出“请马”的编码(第七),《山居秋瞑》中的第七字是“气”,将领便把“气”字写到一件普通公文中,并在字上加盖印章。指挥机关接到这件公文后,查出盖印章的“气”字,在临时约好的诗中列第七,再对照密码本上的顺序,就知道前方缺少马匹。
到了明代,著名抗倭将领戚继光又发明了一种叫做“反切码”的加密方法,其本质也是替代法的一种变形。
戚继光编了两首诗,这两首诗涵盖了汉语中的大部分声母和韵母,前一首诗前15个字的声母,编号为一到十五;后一首诗36字的韵母,编号为一到三十六;再将当时字音的8种声调,也按顺序编号为一到八,那么传递信息时,类似“五-二十五-二”就可以解出一个“敌”字。
在我们的湖南江永地区,曾流传过一种叫做“女书”的文字,是目前为止世界上唯一一种特为女人存在的文字,它是汉字的另一种表达形式,但与汉字是语素表意文字,一个字基本上对应一个语素不同,女书则是音节表音文字,一个字基本上对应一个音节。
传说宋朝时荆田村出了一个才貌双全的女子名叫胡玉秀,后补选入宫为妃。进宫后不久,遭冷遇,苦闷异常。她想写信回家倾吐苦情,又怕太监发现。于是心生一计,根据女红编了一套文字,以歌咏体写在手绢上捎归,并嘱咐亲人:要斜着看,要用土话的音来读。于是这种文字就在妇女中传开了。
用“女书”加密,可以视为一种“替代法”与“俚语加密”结合的方式。李冰冰、全智贤主演的电影《雪花秘扇》讲述的就是两个女人通过“女书”沟通,成为一生挚友的故事,感兴趣的朋友可以看一看。
在西方,一种叫做“猪圈密码”的替代加密法,因为共济会而为人们所熟知。所谓猪圈密码,就是以格子或符号为基础来替换明文字符。猪圈密码的起源已无从考证,其形式及变种很多,大多数教材使用的经典图案如下图所示:
前面说到移位法和替代法广泛运用了接近4000年的时间,之所以能用这么久,就是因为想要破解实在是太难了。
一条消息的长度如果有十几个词,想用试错的办法猜出来,只能采用排列组合。假设任何一个字母都有可能是26个字母中的任何一个,那这条消息每增加一个字母,排列方式就增加26倍。一句话可能的排列总数,也许要超过整个宇宙原子的总数,靠碰运气是没法猜出来的。
所以长久以来,人们都没能找到系统的破解方法,直到16世纪一个数学概念的引入。
那么这个数学理论是什么?它又是怎样被用来破解移位法与替代法的?我将在下一篇文章中向你介绍。
感兴趣的朋友们也不妨在评论区一起聊一聊。
往期文章:
本人是官方授权简书会员推广专员,点击会员专属通道成为简书会员,您将会获得简书钻奖励及诸多权益!