太公回答说:国君与主将之间用阴符秘密联络。阴符共有八种:一种长一尺,表示大获全胜,摧毁敌人;一种长九寸,表示攻破敌军,杀敌主将;一种长八寸,表示守城的敌人已投降,我军已占领该城;一种长七寸,表示敌军已败退,远传捷报;一种长六寸,表示我军将誓死坚守城邑;一种长五寸,表示请拨运军粮,增派援军;一种长四寸,表示军队战败,主将阵亡;一种长三寸,表示战事失利,全军伤亡惨重。如奉命传递阴符的使者延误传递,则处死;如阴符的秘密被泄露,则无论无意泄密者或有意传告者也处死。只有国君和主将知道这八种阴符的秘密。这就是不会泄露朝廷与军队之间相互联系内容的秘密通信语言。敌人再聪明也不能识破它。
维吉尼亚加密术之所以在当时广受欢迎,是因为其原理简单,使用方便。它主要使用一张字母表矩阵,其中第一行是任意给定的字母替换表,第二行是第一行表顺移一位(最后一位的字母移至第一位)而形成的字母替换表,第三行表又是第二行表的顺移一位,以下各行以此类推。图 1-9 就是维吉尼亚字母矩阵的一个例子。加密时,对于信文中的同一个字母,当其第一次出现时使用表的第一行来替换,第二次出现时使用第二行替换,以此类推。如果该字母出现次数已超过矩阵的行数,则回到第一行继续下去。解密同加密一样,也是从上到下逐行进行。
维吉尼亚加密术后来出现过多种改进和变形。这个装置有36片同样大小的木制转轮,套在一根铁杆上。每片转轮的圆周边缘上刻有乱序的26个英文字母,见图1-13。其使用方法是:进行秘密通信的双方必须各自拥有完全一样转轮加密器。当一方要把一段文字(不超过36字)秘密通知身处异地的对方时,只需转动加密器上的各片转轮,使这段文字正好出现在同一行上,这时转轮上排列的其他25行都是无意义的乱码;再把其中任意一行的乱码抄下来交给信使。信使并不知道这段乱码文字的意义,只负责把它送交对方。对方收到乱码信后,只需拿出自己保存的同样的装置,转动上面各片转轮,让其中一行的排列和这段乱码同处在一行上,然后再查看其他25行上的内容,其中必然有一行显示出加密者要传达的信息,而其他行显示的都是乱码。
古代西方人有时会把单词或句子逆序写出,这也属于换位加密。如把I have a book(我有一本书)写成koob a evah I。在中国有一种类似的书写阅读方法叫做“回文法”。如历史上有名的例子:“客上天然居”倒过来是“居然天上客”;“人过大佛寺”倒过来则是“寺佛大过人”。另外一种常用的较复杂的换位加密方法是按一种特定的路径,把信文写在一张信纸上,然后在信纸的其他空白处写上无关紧要的文字,信件按正常顺序读起来是一封普通的信。收信者只需按规定好的路径去读,就能获取真正的信文。
沪剧《芦荡火种》是革命现代京剧《沙家浜》的前身。剧中讲到常熟县县委书记陈天民乔装郎中,前来沙家浜给沙七龙看病诊脉,然后开出以下药方: 防风水香和没药,当归天冬不能忘,最要紧寄生红花与石蜜,村醪半斤赛高粱。若问此方妙何处,妙处就在药名上,上上上。 他以药名藏头的方式给在场的阿庆嫂暗下指示:把每种药名的头一个字拿出来念,就是“防水没当天寄红石村”。即告诉阿庆嫂:为了防止阳澄湖水淹没芦苇荡,要把新四军伤病员当天送往红石村。这也可以算是一种换位加密
替换加密法(Substitution Cipher)就是不改变信文中字或字母的顺序,而是用其他的符号来替换它们,以此达到加密的目的。如在第1章中介绍的恺撒密码,就是通过字母表的移位替换实现加密的方法。古代中国使用的文字避讳,在某种意义上也算是替换加密。英国作家柯南·道尔写的《福尔摩斯探案集》中,有一个《跳舞人形之案》的故事,是讲罪犯如何用各种姿势的跳舞人形符号替换英文字母来传送消息,这也属于替换加密。替换加密法根据信文中每个字或字母使用一个或多个替换而分为单表替换和多表替换。恺撒密码和福尔摩斯故事中的“跳舞人形”就属于单表替换加密,此类替换加密很容易被破解。第1章中介绍的维吉尼亚密码和杰弗逊转轮加密器均属于多表替换加密,其破解难度要比单表替换加密大得多。近代以来,西方主要使用的是各种多表替换加密方法,甚至在第二次世界大战中使用的那些极其复杂的机器密码,本质上也是多表替换加密。破解替换加密法的基本方法是用统计手段,即统计语言中一些字或字母出现频率的规律来判断那些替换符号的真正意义。第1章1.4节介绍阿拉伯人肯迪最早使用了频率统计方法。第2章2.3节讲述的雅德利破译日本密码,是反复运用统计方法的一个成功例子。以下是关于英语的一些统计事实[5],它们经常被用于破解使用替换加密的英文密文: (6)最常用的三字母词是THE,其次是AND; (7)Q的后面总是跟U; (8)元音字母后面跟得最多的辅音字母是N; (9)单词中最常见的双字母是(按频率顺序)LL、EE、SS、OO、TT、FF、RR、NN、PP和CC; (10)最常见的四字母词是THAT。 注意,THAT的头尾字母是相同的。当一个或多个字母在单词中出现一次以上,这种单词叫做模式字(Pattern word),模式字能在破解密文的过程中提供很有价值的线索。 假设看到XYZX,极有可能是THAT。假设看到密文中有一词XPP,它很可能就是ALL、SEE或TOO之类的常见词,虽然它也可能是一个非常见词,诸如ODD、ADD、BOO、INN、EGG或ZOO等。 一个五字母的模式字如BDCKC,可能会是THERE、WHERE或THESE,虽然它也可能是几百个非常用词中的一个,如NIECE、ROSES、NOSES、OMAHA或IRENE。 模式字ABCDB可能是WHICH。RDMMRJ是一个模式字,其中有两个字母重复出现,它最有可能是LITTLE,不大可能的词包括SNEESH、SWOOSH和TWEETS。一个熟练的解密者会很快认出诸如TOMORROW(明天)、PEOPLE(人民)、BANANA(香蕉)、BEGINNING(开始)和COMMITTEE(委员会)等许多模式字。如果密文是一段语录,后面跟着作者的姓RBKJDRLDKMD,那么一个解密高手很快就会认出是SHAKESPEARE(莎士比亚)。另外一种很有用的工具是“反序词典”,其中单词的拼写顺序是由后往前再按字母表排列的。比如,知道某个词的结尾是CION,那就要在这个词典中按NOIC的排列找到这一词。这种词典还适用于破解反序移位的加密法。美国宾夕法尼亚大学的语言学教授布朗(A.F.Brown)主编了这样一部词典,名为《正序和反序英语词汇列表》(Normal and Reverse English Word List),它出版于1963年,有八大卷,收录超过35万个条目。类似的逆序词典也在法国、希腊、俄国、意大利等国家出版过。
以下略述几种常见的隐显墨水[5]: 用硫酸铜制成的墨水,经氨水熏后就变成红色;用无色的硫酸铁溶液写成的文字,经棉花蘸氰酸钾擦拭后变成中湖蓝色(Bright blue),或经涂上苏打水(碳酸钠)后变成褐色。 用柑橘类水果汁做的墨水写的信文可通过在电灯泡上慢慢加热信纸而令其显现,也可用热熨斗熨信纸让字显现。 酚酞做墨水写密文。当墨水干了,字就看不见了。要让它显现,用一小块棉花或清洁布在家用氨水(如溶在少量水中的苏打)中沾湿,然后轻按在信纸上。其中的文字会立刻变成紫红色显现出来。 有些物质(如增白洗衣粉)可以用来制作一种隐显墨水,它们会在紫外射线(即所谓的“黑光”)下发光。这种墨水现在已被广泛用于溜冰场、舞厅和游乐园。 用纯牛奶做墨水在厚硬面纸或薄卡片纸上写字。要使文字显现,用香烟灰、石墨粉或木炭屑等任何一种黑色粉末在纸上擦即可显现。还有一种方法是用刀削铅笔尖,让削下来的铅末落在纸上。用手指尖蘸着这些石墨粉末在那些看不见的字上擦涂。 职业间谍几乎不会把隐显墨水写在空白纸上,因为它如果被截获的话很容易引起怀疑。使用隐显墨水的一般做法是,按通常的样子打印或手写一份假信,然后用该墨水在行间写上密文。也可以把密文写在看上去很平常的信件或照片的背面,或与可见文字形成一定的角度,把密文斜写在信纸上。另一种常用的做法是把隐显墨水涂在书或杂志中分散的字母上。收到书或杂志后,就令墨水显迹,然后顺序读这些有标记的字母,就获得了信文内容。 隐写术也可以与密码术一起使用。这样即使敌人对于一份隐迹信文起疑,并已设法使其显迹,但仍无法读懂它,除非对方还能够破解密码。
希望你们能看懂ฅ(⌯͒• ɪ •⌯͒)ฅmua~ン❣