密码技术中的 万能法 是怎么编制和译读的 (密码法的案例)

2023-03-23 4:28:11 听风 思思

万能法是由法国密码专家凡伊发明的。其法是一个方形表格,内分100格,以数字依次填进去。表的左边外侧直行数字是明码;表的顶上横行数字是密码。

在使用它时,首先要先记住这个“万能密码法”的“密钥”是:4238。如果假设“已干掉此人”这5个字的明码是:21232096180105240448那么,2123是明码,用密钥4238去推出它的密码:即用左侧直行上的“2”与顶上横行的“4”相交之点上得到了的数字为“5”;再用左侧直行上的“1”与顶上横行的“2”相交得数为“2”;再用左侧直行上的“2”与顶上横行的“3”相交得数为“4”;最后用左侧直行上的“3”与顶上横行的“8”相交得数为“0”。这样我们就知道了:明码2123的密码是:5240。密钥也可以事先双方任意约定,这种方法变化无穷,很难破译。

间谍情报运用密码进行传递通讯的方法有哪五种?

一是阴符、阴书。东汉许慎《说文解字》对"符"的释义是:"符,信也......分而相合。"《孙子兵法·九地篇》已指出"夷关折符",曹操与杜牧分别注道:"谋定,则闭关以绝其符信,勿通其使","夷关折符者,不令国人出入。盖恐敌人有间使潜来,或藏形隐迹,由危历险,或窃符盗信,假托姓名,而来窥我也。"阴符是刻画有特殊符号或制成不规则牙状边缘的信物凭证,其作用为传递情报,调兵遣将。《六韬·阴符第二十四》有专章论述古代阴符的密码:"主与将有阴符凡八等:有大胜克敌之符,长一尺。破军擒将之符,长九寸。降城得邑之符,长八寸。却敌报远之符,长七寸。警众坚守之符,长六寸。请粮益兵之符,长五寸。败军亡将之符,长四寸。失利亡士之符,长三寸。诸奉使行符,稽留者,若符事泄,闻者、告者皆诛之。八符者,主将秘闻。所以阴通言语不泄中外相知之术,敌虽圣智,莫之能识。"

这种由主将事先暗自规定尺寸长短的阴符,其所代表的"言语"就是一种情报密码。阴符有铜制、玉制、木制、竹制等。阴符也可以作为一种临时的特殊通行证。《墨子·号令第七十》中说:"有分守者,大将必与为信符。大将使人行守,操信符,信符不合及号不相应者,伯长以上辄止之,以闻大将。"一般铜符是为传递情报调动部队之用;木、竹符为特使"出入征险"通行之用。譬如战国信陵君派女间谍如姬窃取魏王铜符,然后"矫魏王令代晋鄙",夺兵权而救赵国。楚怀王发给鄂君竹符,遣其巡历长江沿岸。

阴书是比阴符更进一步的情报传递密码。《六韬·阴书第二十五》也有专章论述:"武王问太公曰:其事烦多,符不能明,相去辽远,言语不通;为之奈何?太公曰:诸有阴事大虑当用书不用符。主以书遣将,将以书问主,书皆一合而再离,三发而一知。再离者分书为三部;三发而一知者,言三人,人操一分,相参而不相知情也。此谓阴书。敌总圣智,莫之能识。"所谓"一合而再离",即将一份完整的情报截成三份,分写在三枚竹简上;所谓"三发而一知",即派三个人分别持此三枚竹简,分别出发,到达目的地后,再将三枚竹简合而为一,便能读通其意义了。这样,送情报的人互不得知传送情报的内容,即使有一人或二人被敌方捕获,也不会泄密。

二是暗号。以暗号互通信息或传递情报,古已有之。记之较详的是明代无名氏兵书《草庐经略·军号》:"军营有夜号也,恃以防奸也。或以物,或以字暮夜往来逻军,必低声询问,不知号者,必奸细也。号须记载,以便稽查,毋得重复,亦勿有心,恐有心则为人所觉,而重复则雷同,尤使敌易测也。营外巡视,伏路之军,亦别有号,盘诘外奸,使无所容。先发外号,遣之使出,始发内号,勿令预闻,恐敌擒获因而泄露也。"

"路符"也是一种秘密暗号。譬如在某人必经途中,在泥土上画一个大圆圈,表示前面有人接头;画一条蛇,表示执行任务时有人协助;画五个并排三角形,表示将进行刺杀行动。

"体态语"有多种多样,有手势语、身势语、情态语等。譬如遇有紧急情况,则举扇过头,轻摇三下,表示招人参加战事;又如把右手拇指握在其余四指之外,放在头上,则表示"处境危险,紧急求助"的含意。

此外,还有一种以物品读音的谐声来作为一种情报暗号。譬如北宋种世衡派间谍法崧前往西夏进行反间,"遣法崧以枣及画龟为书置蜡丸中,遗旺荣,喻以'早'、'归'之意"。"枣"谐"早"音,"龟"谐"归"音。这一类传递情报的暗号需事先约定,但它与阴符一样,所容纳的信息量很小,因此所传递的情报内容也就很有限了。

三是字验。宋仁宗时诏令天章阁待制曾公亮编撰的《武经总要》卷十五曾详细记载了这一情报通讯方法。所谓"字验",即将各种情报用四十字的一首诗中的一些字来表示。具体要求是:所选的诗不得有重复之字,诗中的每一个字依次表示某一情报。如需报告某一情报,便在诗中规定的某一个字下加上一个符号即可。对方收到后,只需查对密码本即可译出情报内容。譬如《武经总要》记载道:先将军中联络的有关情报编为四十项,即:请弓、请箭、请刀、请甲、请枪旗、请锅幕、请马、请衣赐、请粮料、请草料、请牛车、请船、请攻城守具、请添兵、请移营、请进军、请退军、请固守、未见贼、见贼讫、贼多、贼少、贼相敌、贼添兵、贼移营、贼进兵、贼退军、贼固守、围得贼城、解围城、被贼围、贼围解、战不胜、战大胜、战大捷、将土投降、将士叛、士卒病、都将病、战小胜。

如果出现了四十项中的某一项或几项的情况,则书写一首五言律诗(五字一句,共八句,正好四十个字),按四十项的次序,用一个记号写在五言律诗的第几个字下即可。譬如出现了"被贼围"的情况,按四十项的次序是第三十一项,于是随意写一首五言律诗,譬如用白居易的《赋得古原草送别》一诗:"离离原上草,一岁一枯荣。野火烧不尽,春风吹又生。远芳侵古道,晴翠接荒城。又送王孙去,萋萋满别情。"然后在这首诗的第三十一个字"又送王孙去"的"又"字下加个记号,即表示"被贼围"的情报。

四是反切密码。这是明代名将戚继光所发明创制。它是用古代反切的注音方法来编制密码。反切注音方法为:用两个字拼合成另一个字的音。即取反切上字的声母和反切下字的韵母及声调,切出所需注释字的字音。譬如要注"谍"这个字音,则用"得斜"两个字来注音,即取"得"字的声母"d";取"斜"字的韵母"ie"及"斜"宇的声调,拼切成dié音,就是"谍"的字音。

反切密码法利用反切的原理编了两首歌:

柳边求气低,波他争日时。莺蒙语出喜,打掌与君知。

用这首歌的前十五个字作为不同声母的代表字。即柳字代表"1";边字代表"b",以下依次类推(注意:古字的读音有些与现代汉语读音不同)。

另一首歌是:

春花香,秋山开,嘉宾欢歌须金杯,孤灯光辉烧银缸。之东郊,过西桥,鸡声催初天,奇梅歪遮沟。

用这首歌的三十六个字作为不同韵母的代表字(注意:其中的金与宾、梅与杯、遮与奇的韵母相同,实际上只有三十三个不同韵母的代表字)。

然后将十五个声母代表字和三十六个韵母代表字按次编上号码,再将当时字音的八个声调也按顺序编上号码。这就形成了传递情报的反切密码,可以用此注出任何字的读音。戚继光由此还编了一本《八音字义便览》来作为教材,进行专门训练。

五是明码加密。清末时,电报技术输入中国。1871年由上海大北水线电报公司,选用了六千八百九十七个汉字,代以四码数字,编成中国最早的电报明码本。但是为了保密,又设计了将明码本加密的方法,形成了较复杂的密码。这一密码被清末军事及商业情报机构使用,传递发送了众多方面的间谍情报。

明码加密的具体方法是:譬如"布"这个字的电报电码为1530,加密和减密的钥匙均为9853。先用明码的四个数字分别与加密钥匙的四个数字相加:1加9为"10",凡"10"都作"0";5加8为"13",须隐去"10",只作"3";3加5为"8";0(看作"10")加3为"13",须隐去"10",只作3。那么"布"的明码1530就成了密码0383。接收到这四个密码后,再以此减去解密钥匙的四个数字,即:0(看作"10")减9为"1";3(看作前已隐去的"10"再加上3为13)减8为"5";8减5为"3";3减3为"0",解密后的数字为1530,又回到明码上去了。

概率论:数学让密码学加速进化

概率论:数学让密码学加速进化

你想过一个问题没有:

是什么因素决定了一个密码能否被破译呢?

对比一下古典密码和现代密码,你就能发现答案了。

古典密码学,加密和解密过程中,最小操作单位都是单个字符或者符号,所以古典密码学的核心就是移位法和替代法。

现代密码学,把研究对象用数来描述,再对数进行运算。不但突破了字母作为最小变化单位的限制,还可以使用更高等的数学工具做运算,因此破译就变得越来越难。

所以,加密时所用的数学工具,决定了一个密码能否被破译。

第二代的移位法和替换法的安全性很好,也比较好用,但到了16世纪,这个局面扭转了。因为概率论的出现,这两种加密法可以破解了。

自此之后,加密与解密的对抗战中,因为数学的应用,解密一方暂时占据优势。

两个破解 第二代加密法 最经典的案例。

一个发生在16世纪的苏格兰女王玛丽一世身上,一个发生在17世纪中后期到18世纪初的法国国王路易十四身上。

玛丽一世女王,她是我听说过的最刚烈的女人。在这门课《密码学人物列传》的模块中,我会专门用一讲详细讲讲她的故事。这节课,我们还是主要围绕密码展开。

27岁时,玛丽一世被自己的姑姑英格兰女王伊丽莎白一世关押了起来,一关18年。到44岁时,监狱里的她和外界反叛军密谋要杀害姑姑,一旦谋杀成功,她自己就能坐上王位。当时的信件都是通过特殊渠道传入监狱,最后由侍女在递送红酒时,藏在瓶塞中带进去。

玛丽一世很聪明,包含暗杀计划的并不是普通的信,而是加密过的。就算不慎落入伊丽莎白一世的手中,也没人看得懂。

其中用到的加密方法,就是替代法。所有的英文字母被类似符文的东西替换,一些常用词也用符号代替。具体的对应方式,你可以参考下面这个图表。

玛丽此后就通过这个特殊渠道和反叛军通信,几个月后,她熟练掌握,写信可以直接用密文,不用一个个字母查对照表了。

不幸的是,这个特殊消息传递的渠道里,竟然隐藏着一个双面间谍,他把情况汇报给了伊丽莎白。在位的女王正愁抓不到把柄,这下终于有机会名正言顺的处死玛丽了。

不过现在还急不得,必须抓到足够硬的证据,而且最好把整个阴谋背后所有的参与者一起除掉,所以伊丽莎白没有打草惊蛇。

此后玛丽和外界的通信,每一封都先经过双面间谍送到密码学校,花1个小时誊写好,然后再密封好,就像从没有被截获过那样,递出皇宫。密码学校的人再拿着誊写好的密文想法破解,最终他们成功了。

破解方法,就叫做“ 频率分析法 ”。这种方法其实在9世纪的阿拉伯就出现了,只是到了16世纪才被欧洲数学家注意到。

下面咱们讲讲它的原理。很简单,英文中字母出现的频率,是不一样的。比如字母e是出现频率最高的,占12.7%;其次是t,9.1%;然后是a,o,i,n等,最少的是z,只占0.1%。

英语中字母频率统计

除了英语,其他语言也有详细统计。

玛丽和外界用密文往来很多,字符总量足够多,全部收集到一起,统计哪个符号出现的比例最高,那个字符大概就是字母e。

当然,有些字母出现的频率极为接近,比如h,r和s,分别是6.09%,5.98%和6.32%。但只要稍微留意字母前后的关联,就可以区分出来。比如:t几乎不可能出现在b,d,g,j,k,m,q这些字母的旁边,h和e经常连在一起,ee一起出现的频率远比aa一起出现高得多等等。

频率分析法的实质,就是大幅降低字母排列组合的可能性。

从前我们假设每个符文都可以是26个字母的任意一个,有多少个替代符号出现,就有26的多少次方种可能。但频率分析法把很多符号的可能性大大降低,有的降低为只有1种可能,有的降低为只有2-3种可能。

这样一来,即便第一步统计各种符号出现的频率时并不完全确定,但只要再根据拼写规律筛选一下,替代符号对应的真实字母就确定了。

在审讯的过程中,尽管玛丽始终没有承认谋反,但证人和密码学专家一起向公众展示了密文和原文,讲解了解密规则,最后玛丽一世还是被砍了头。

这是加密和解密在皇权斗争中最著名的一次应用,解密法大胜。

解密方法公布后,替代法就不再有效。起码对欧洲王室来说,决心要破解的话,一定可以破。

加密一方当然不甘落败,怎么办?

很快就出现了另一种叫做“ 同音替代法 ”的方法。

比如说字母a可以用11,23,41三个数字替代,这三个数字翻译过来都是a。越常用的字母,比如e,就用越多的符号代替它。这种想法的终极目标,就是让每个数字出现的频率都大致相等。频率特征没有了,密码就不容易破解了。

同音替代法

从上面这张同音替代法的表格中可以看到,最常使用的e,替代的字符最多。

不过这种方法的解密法马上也出现了,就是通过字母前后顺序关系来猜。

最典型的例子是,q后面出现的最大可能是u,而q又是一个不常用的字母,有很大概率猜出来。其他字母猜出来的难度大一些,但只要肯花时间,总能破解。

史上最有名的采用同音替代法的密码,是法国国王路易十三、十四时期的“大密码”(Grand Chiffre)。它使用了40多年后,随着拿破仑倒台突然失传。直到1890年才被完整破解,破解方法就是从单词拼读规律入手的。

这套加密法用了587种数字,来表示不同的发音。其中陷阱还很多,比如有些数字只代表字母,不代表发音;很多数字是干扰字符,它们没有意义;还有一些数字既不是发音也不是字符,而是代表删掉前一个字符。

大密码被破解后,很多200年前路易十四的宫廷秘闻才大白于天下。

其中有一段,是法国宫廷传奇“铁面人”的新发现。铁面人的故事在欧洲,就像咱们关心康熙晚年雍正是怎么即位的故事那样。无数小说都以这个为背景,大仲马和伏尔泰都写过。

故事说的是一个犯人从1669年被捕后,一直关押。而且负责关押他的监狱长不论工作怎么调动,总把这个犯人带上,一关就是34年。按说这么重的罪,就让他把牢底坐穿吧。不,给他吃的都是美味,穿的都是华服,还可以弹琴,有医生定期探望,甚至转移监狱时都是高级马车护送。什么都有,只是没自由。

有狱卒看到过这个人在远离其他犯人的地方散步,脸上总带着一个铁面具,没人知道他长什么样。

铁面人到底是谁,有N种猜测,在大密码告破之前,有猜是路易十四同父异母哥哥的,有猜是路易十四亲生父亲的,有猜是英国国王私生子、法国财务大臣、意大利外交官的。之所以有争议,是因为每个说法都有漏洞。

在大密码告破后,又多了一种解释,那就是当时路易十四手下的德布隆德将军(Vivien de Bulonde)。解密后,有一封信是战争部长写给路易十四的,提到立即抓捕德布隆德将军,晚上关进牢房看管,白天可以允许他带着面具在城垛上活动。

这个说法虽然后来也发现了漏洞,但因大密码破解而公布的文件和信件,让法国宫廷内部的历史变得更有据可查。

你想过为什么替代法会被破解吗?是宫廷天才对猜字游戏很擅长,还是双面间谍的勇敢机智?

这些因素当然都有。但最重要的观察视角是——那个年代的数学突飞猛进,终于诞生了“ 概率 ”这种新概念。

今天的人听到“某个字母在一篇文章里出现的概率”这样的表述,当然不会觉得难以理解。但400多年前的人虽然也知道,硬币扔出去,女王头像一面朝上的机率是一半,这样粗浅的概率知识。但他们大都不会用这个视角衡量感兴趣的对象。

其实直到现在,大多数人也没什么机会用这个视角去思考,唯一涉及切身利益的就是买彩票。

而当年概率论之所以诞生,正因为第一个研究概率论的那个数学家卡尔达诺(Girolamo Cardano)是个赌徒,他还是三次方程一般解法的发现者,也是最早使用复数概念的人。世界上第一本概率著作《论赌徒的游戏》,就是他写的。正是这本书写完5年后,玛丽女王被姑姑囚禁了起来。

数学的发展,有两个高峰。一次是公元前500年到公元前300年,那之后一直在下滑,大约在公元500年跌到谷底。另一次高峰是在这1000年之后,大约在玛丽女王时代,才超越古希腊巅峰时期的水平,而且这个高峰现在还没出现最高值。

随着数学水平的提高,不只是密码学,所有使用到数学的应用学科也会跟着变。很多在1500年之前只是旁门左道的事情,逐渐成为独立的行业,或者单独的学科分支。

创文链接:

• 执剑与破壁的永恒之光

• 密码为什么要从俚语加密开始Why do passwords start with slang encryption

世界上各种密码的形式

1、RSA算法密码

RSA算法是第一个能同时用于加密和数字签名的算法,也易于理解和操作。RSA算法是一种非对称密码算法,所谓非对称,就是指该算法需要一对密钥,使用其中一个加密,则需要用另一个才能解密。

2、ECC加密法密码

ECC算法也是一个能同时用于加密和数字签名的算法,也易于理解和操作。同RSA算法是一样是非对称密码算法使用其中一个加密,用另一个才能解密。

3、二方密码

二方密码(en:Two-square_cipher)比四方密码用更少的矩阵。

4、四方密码

四方密码用4个5×5的矩阵来加密。每个矩阵都有25个字母(通常会取消Q或将I,J视作同一样,或改进为6×6的矩阵,加入10个数字)。

5、三分密码

首先随意制造一个3个3×3的Polybius方格替代密码,包括26个英文字母和一个符号。然后写出要加密的讯息的三维坐标。讯息和坐标四个一列排起,再顺序取横行的数字,三个一组分开,将这三个数字当成坐标,找出对应的字母,便得到密文。

6、仿射密码

仿射密码是一种替换密码。它是一个字母对一个字母的。

7、埃特巴什码

埃特巴什码是一个系统:最后一个字母代表第一个字母,倒数第二个字母代表第二个字母。

8、栅栏加密法密码

栅栏加密法是一种比较简单快捷的加密方法。栅栏加密法就是把要被加密的文件按照一上一下的写法写出来,再把第二行的文字排列到第一行的后面。

9、针孔加密法密码

这种加密法诞生于近代。由于当时邮费很贵,但是寄送报纸则花费很少。于是人们便在报纸上用针在需要的字下面刺一个孔,等到寄到收信人手里,收信人再把刺有孔的文字依次排列,连成文章。

10、回转轮加密法密码

一种多码加密法,它是用多个回转轮,每个回转轮实现单码加密。这些回转轮可以组合在一起,在每个字母加密后产生一种新的替换模式。

参考资料来源:百度百科—密码

维吉尼亚密码:加密强悍,却为何没人用?

维吉尼亚加密法。

讲到概率论出现之后,传统的移位法就不好使了。

维吉尼亚加密法,就是为了对抗频率分析出现的——使用这套加密方法之后,字母的频率特征会消失。

一般认为,做出这套加密法的是法国外交官布莱斯·德·维吉尼亚。

但这个结论有很多争议,在他之前40多年的德国炼金术士约翰尼斯发明的表格法,也包含其中关键部分;在他之前80多年,意大利诗人莱昂也提出过这种方法的关键部分。

一个发明到底归属谁有必要考据细节吗?

当然没有。我主要是想指出一个规律——凡是出现了一个发明权一堆人抢的情况,就说明那个领域已经形成了成熟的行业。

密码学也是如此。我们暂且认为维吉尼亚就是发明人吧。问题来了,他一个外交官怎么会对密码学研究那么深呢?有两个原因:

在18世纪初,欧洲各国都有隶属于情报机构,专门负责加密解密的部门,叫“黑房厅”。它是和邮政系统配合运行的。

每天有大批信件本来是从各地寄到邮局,再从邮局分发出去。黑房厅出现后,一部分信就不是从邮局直接递给收信人了,而是要先经过黑房厅,再送到收信人手里。

哪部分信件要绕这么一道弯儿呢?

其实就是所有寄给当地大使馆的信件,会受到这种特殊待遇。因为这里很可能有机密信息。

虽然我直接把内幕说出来了,但黑房厅在当年运作的时候是完全保密的,人不知鬼不觉。信件不能因为破译需要时间,而让对方使领馆人员察觉到递送超时。

以当时最著名的维也纳黑房厅来说,每天早上7点,信件先抵达黑房厅,工作人员小心翼翼的融开封口,由专门的速记员把信件誊写抄录,如果是很偏门的语言,就由专家出马誊写。然后马上把信封好口,在三小时内送回邮局,邮局再按正常流程递送出去。

那时各国都在重要信件上使用了加密法,最初普遍采用替代法和移位法的混合,但对掌握频率分析法的黑房厅来说,总是可以破译。

奥地利除了自己偷看信,还暗中把消息卖给其他国家的情报部门。没过几年,很多国家察觉到自己的加密可能失效了,于是就催生出下一代加密法。

为了弄懂后面新的加密法,我们有必要先来回顾一下第二代加密法存在哪些漏洞。

讲了替代法的破解原理,因为每个字母实际使用的频率是有固定值的,所以不论那些字母被什么符号替代了,都可以从频率上找出它的真身。

玛丽女王就生活在加密法打不过解密法的年代。其实在她被砍头的40年前,新的加密法已经出现了,它是替代法的改进版,叫“多套符号加密法”。

为了掩盖字母使用中暴露的频率特征,解决办法就是用多套符号代替原来的文字,比如原文的字母是A,从前只把它替换成F,现在把它替换成F或者G这两个。那什么时候用F什么时候用G呢?可以自行规定,比如说,字母在奇数位时用F代替,字母在偶数位时用G代替。

从前单套符号替代的时候,凡是文字中频率为7.63%的符号,差不多就代表A了。但现在A由F和G混合在一起,7.63%的特征不再出现,哪个符号代表A就没人知道了,于是频率分析法暂时失效。

而且,多套符号加密法并没满足于2-3套,后来典型使用的是26套。

这个用了26套字符的方法,就是第三代密码“维吉尼亚加密法”。就是它,成功压制了解密一方的频率分析法。

它是一个表格,第一行代表原文的字母,下面每一横行代表原文分别由哪些字母代替,每一竖列代表我们要用第几套字符来替换原文。一共26个字母,一共26套代替法,所以这个表是一个26×26的表。

维吉尼亚密码表

它具体是怎么加密呢?

假设我要给“hello”加密,现在的思路和单套的加密方法不一样了。单套的时候,我们可以指定这个表里任意一横行,比如指定第8行的意思就是说,原文中的字母都往后移8位,只使用这一行的规则,“hello”就变成了PMTTW。

但现在我们的思路是用多套密码,不能只用第8行第8套。于是我们就这样指定:

你说这听着怎么这么乱啊?具体每个字母移动多少位竟然要单独指定,太麻烦了吧?

如果原文只是hello这种词还好,要是一封信的话,一个字母一个字母的规定用哪套替代,不但加密费劲,解读也费劲。只能单独再写一本说明书出来,照着它一个字母一个字母的还原,费时费力、容易出错不说,连加密的初衷都实现不了。

因为这份说明书的文字量比原文还要多得多,而且这个说明书还必须以谁都可以看懂的方式书写。想让收信方看明白,必须要送一本加密说明书给对方,如果说明书被截获,内容也就白加密了。

这个问题是这么解决的:

第三代的维吉尼亚加密法在真实使用时,人们事先规定每个字母用了哪套移位法时,并不是毫无规律的瞎指定,而是要约定一个规则,这个规则就叫作 “ 钥匙 ”。

钥匙最初只是一个单词,比如,像钥匙是yes,那怎么加密呢?

你看,yes的y是第25个字母,就代表加密时把原文第一个字母往后移25位;yes的第二个字母e是字母表中第5个字母,就代表把原文的第二个字母往后移5位;yes的第三个字母s在字母表中是第19个字母,就代表把原文第3个字母后移19位。这样原文的前三个字母,就分别用了第25套、第5套、第19套替代法。

那原文第4个、第5个、第6个字母怎么解决呢?好办,就按刚刚的规则循环就好。

这样“hello”在钥匙是yes的情况下,就被加密成了FIDJS。

这样的好处是,原文里同一个字母会被加密成不同字符,hello中的两个“l”分别变成了D和J。而且密文中同样的字符也可能代表不同的原文,谁和谁都不对应。

1586年,维吉尼亚把这个想法写在了《密码论》中发表。

而上节课我们说的玛丽女王是在1587年被砍的头,如果她和反叛军能用到这本书里的加密方法,也许会是另一种命运。

维吉尼亚法相比从前的加密法,破解难度上了一个新的台阶,按理说应该倍受青睐吧?结果恰恰相反——它在出现后的200年里,几乎没有人使用。

原因很简单,太麻烦了。咱们第一节课就讲到,真正好用的密码,是在安全性和效率上找到了平衡点。

你想,用单套密码的时候,当年玛丽女王稍作训练,在监狱里就可以抛开字典直接用密文回信,但是如果用维吉尼亚密码的话,估计她老得翻字典。

而且大家也可以设身处地的想想,加密法可是一套26×26的表格,而且还有长短不一的钥匙。每加密一个字母,都要在表格里找来找去,就算是在熟练操作的情况下,加密一个字母也得要3秒钟的时间。写完一篇500字的短文,要3个多小时的高强度工作。慢还不说,这样来回来去的查和写,还容易出错。

所以在它诞生后的200多年时间里,几乎没有人用。既然没人使用,自然200多年也就没有人破解。

直到1861年到1865年美国南北战争时期,维吉尼亚加密法才被广泛使用。

为什么会这样?是因为人们脑子变聪明了,手更快了吗?

不是的,而是因为随着科学技术的发展,那时候加密解密的工作已经可以由机械来完成。1860年代,不但已经有了蒸汽机,也有了电动机,这种有规律的体力活儿机器是最擅长干的,既不会抱怨累,也不太会出错。

从维吉尼亚法推迟200多年才得到实际使用,我们能明白一个道理——

基础学科的发展是工程领域发展的根基,新理论的发明要比产品的发明重要得多。

就算是只限于密码学领域,这个规律也反复出现了多次,而且大都集中在维吉尼亚密码法诞生之后。

因为16世纪初,现代科学已经在欧洲出现了。科学理论用得好就能生出新技术,新技术解决一个个困难,让人类更愿意把精力投入到科学中,于是又产生出更多的技术,形成了一个正反馈。

在这样一个新环境里,出现了一个有意思的情况:

维吉尼亚加密法是这样,维吉尼亚加密法的破解也一样是这样。

这并不是偶然,而是现代科学出现后的常态,在任何领域都是如此。

知道了这个规律,我们就会少一分对伟大发明家的崇拜,多一分对背后科学原理的敬畏。