仅用数学分析就破译了最高等级密码,他比图灵更厉害

说起密码相关的话题,大家脑海里首先直观感觉就是这东西很神秘,是个很高级的玩意。

仅用数学分析就破译了最高等级密码,他比图灵更厉害

军事史上最著名的密码之一 凯撒密码

古希腊有著名的凯撒密码,他创造性地把所有的字母向后移动了3位,使得看到密文的时候根本不懂得其意思,使得战场上的机密消息得以安全传递。后来人们觉得凯撒密码太简单,又发明了置换密码,多表替换密码,可以说,正是情报对于战争的重要性迫使着加密方式越来越先进,给人的感觉也就越来越神秘。

在给信息加密这方面,中国古代有过非常成熟的案例,并且在使用的几百年时间里居然从未被破解过,这就是我国的晋商推出的票号兑换业务。

仅用数学分析就破译了最高等级密码,他比图灵更厉害

票号业集大成者 雷履泰

在没有票号业之前,商人们走南闯北,需要携带大量金银,重量且不说,那个时代的环境下, 拦路土匪强盗不知道有多少,安全性很难保证。在这样的历史环境下,晋商雷履泰开启了票号承兑业务,把银子在票号里兑换成票据,然后凭借票据异地取现银。其实就差不多相当于是现在的存折,但是那个时候其实实现类似存折的方法难度不小,首先要解决的就是如何防伪并且识别的问题,那个时候可没有什么数据库的概念,所谓凭证仅仅是依靠票据上的痕迹暗号来判断的。在这种情况下,雷履泰发明了一套在当时几乎不可破解的加密方式,下面我们来领略一下雷大掌柜的天才构想。

仅用数学分析就破译了最高等级密码,他比图灵更厉害

日升昌 防伪密押

首先他不在票面上直接写上银两数目,而是用密语写成,这些密语只有票号的资深人士才能看懂,旁人根本察觉不了,他用了一首诗来做加密,类似于现在的秘钥。

“谨防假票冒取,勿忘细视书章”其实这表示着一到十二月。几月存取就印第几个字的章。而日期是堪笑世情薄,天道最公平。昧心图自私,阴谋害他人。善恶终有报,到头必分明。这三十个字。生客多查看,斟酌而后行。代表银两第一个数一到十。赵氏连城璧,由来天下传,代表银两第二位数一到十。国宝流通代表万千百两。”

事实上,这一份防伪密押在书写的时候也不是随意的,这里的前30个字紧挨在这里,左边的部分10个字为一组,最后4个字又为一组。30个字为一组,容易让人想到就是一个月30天,中间两个为10的组,也容易让人想起是十进制。。。现在我们这样想都是建立在人们千辛万苦破解之后的联想。假如,我们对于这样的加密方式毫无知晓,破解他其实相当有难度。你的汇票上写着“看宝通”,拿给票号掌柜,掌柜核验汇票无误之后就会给你兑出5000两银子来。

仅用数学分析就破译了最高等级密码,他比图灵更厉害

日升昌仅存的一张汇票

只有这一道加密手段肯定是不可靠的,雷掌柜又想到一种办法,当时的所有票据都是人工手写的,只要是人工手写的,那么就很容易留下一些极为隐秘的特征。比如在某些笔画上加重或者特意拖长,甚至在制作票据的时候,在某些笔画上扎个眼,或者褶皱一下,这些重重加密的手段全部用上了,只要有一个特征有疑问,那么就要经过更加严格的审核才会有结果。每次兑换之后汇票就立刻销毁,防止有人收集过多票据进行分析解密。至于那个加密的诗句,当然也不是永久的,一个月一换,本身那块密押诗句就是绝密的,再加上一个月一换,所以就更加保险了。

在如此反复的加密过程之后,票号业的保险程度也是让人瞠目结舌,一百几十年来,从来没有人成果伪造过一次汇票,也没有人破解其中的奥秘。现代的支票业务或多或少都借鉴了中国的票号加密手段,票号业务以及汇票加密手段是我国封建时期商业上一次非常了不起的发明。

仅用数学分析就破译了最高等级密码,他比图灵更厉害

人工智能先驱者 密码专家 图灵大神

到了近代战争,敌对双方不但要在战场上拼的你死我活,在那些看不见的战场上也是针锋相对,总是不懈余力地想去破解对方的指令,通过提前掌握对方的指令来在战场上取得主动权。在这方面,大名鼎鼎的图灵是最经典的代表,他最伟大的创造在于把数学分析和机器运算加入到密文分析这个非常枯燥繁杂的过程中来。通过对已知密文的不断归纳总结,然后把可能的结果交给机器去运算,从而省下大量人力物力。图灵用天才般的直觉找到了突破口,恩尼格玛机虽然是机器加密的优秀代表,但是终究还是人操作的,只要是人为操作的,就不可避免地留下一些痕迹。

仅用数学分析就破译了最高等级密码,他比图灵更厉害

图灵的终极武器 炸弹

比如,德国人每天早上六点都会发送天气预报,雷打不动,这些固定的字母串当然就被图灵作为线索逐层破解,有些这些已知的结果,再交给他发明的炸弹机器,最终得以在有效的时间里算出结果来,从而破解了德军的恩尼格码,一举扭转了盟军在欧洲战场的局面。你的每一次指令都已经被对方截获并破译,这个仗还怎么打,人家完全可以在你眼皮底下溜走,而你却完全没有任何察觉。

仅用数学分析就破译了最高等级密码,他比图灵更厉害

德军迷之自信的机器 恩尼格玛机

后来有人分析,正是因为图灵杰出的工作,使得二战结束时间至少提前了两年以上!

欧洲战场密码大战如此精彩,其实当时的美军对于日军的密码破译也同样惊心动魄,甚至美国人用的方法比图灵的更加高明。

仅用数学分析就破译了最高等级密码,他比图灵更厉害

美国最伟大的密码破译专家 威廉姆·弗里德曼

威廉姆·弗里德曼是美国陆军军官,1891年出生,也是一位杰出的密码教育学家,培养了许许多多密码分析方面的专业人才。曾经破译了日军紫密密码,提前洞悉了日本外交的各种秘密指令。与图灵的方法不同,弗里德曼和他的团队没有用小线索的方式来逐步试探最终的答案,他对于机械式密码的破译工作是终极层面的,也就是说他的方法适用于任何机械式加密,不会造成更换加密方式,之前的破译方法和工作就立刻一文不值的情况。

我们大概都知道在日常使用的英文单词里,不同字母出现的概率是不同的。5个原因字母出现的可能最高,其中出现概率最高的是字母e,概率大概是13%,最少的是字母z大概只有0.06%。这是人们很久以前就注意到了的规律,在经过大量统计之后得出的分布情况。也就是说只要你的文件是英文书写的,那么这里的字母分布情况就基本上是这样的情况。这是一个非常重要的结论,如果现在有一个简单的替换加密,当密文数量足够多的时候,任何人只要根据这个分布规律都可以破译这样的加密文件。

仅用数学分析就破译了最高等级密码,他比图灵更厉害

英文中字母出现的概率是固定的

当然了,这个秘密是如此地容易理解,实际上加密过程中就得千方百计地避免这种靠字母频率分析的方式就可以破解的加密方式。于是密码设计者就得往另外一个方向靠,那就是想方设法使得密文能够经受得住统计学的考验,也就是说,你用了频率分析法也得不到之前明文里出现的各个字母的分布情况,所有的字母看起来都像是均匀分布的。你统计之后大概会在500个字母里得出20个a,20个e,,,20个z。如果真是这样,那么频率分析法便完全失去作用了,必须另辟蹊径。

弗里德曼想出一个方法,他在英文文档中统计了连续两个字母相同的概率会是多少,比如,aa在所有英文中出现的可能性大概就是8%*8%=0.0064,ee的概率就是13%*13%=0.00169,以此类推,我们把所有连续字母对出现的概率加起来,大概是0.0667。也就是讲,我们拿起一份自然英语的文档,大概平均100个字母里会有6.67次连续出现相同字母。我们把这个0.0667叫作Kp,意思是明文字母重码率。这里的明文重码率有个专门的词叫Kappa值。这是明文情况下统计的,肯定也有密文情况下的字母碰撞概率,由于密文里失去了字母频率分析的意义,各个字母已经呈现均匀分布。那么从aa,bb一直到zz的概率就是26*1/26*1/26=0.0385。

我们把这个0.0385叫作密文字母重码率,用Kr表示。

仅用数学分析就破译了最高等级密码,他比图灵更厉害

弗里德曼的测试方法 字母碰撞

Kappa值在密码分析领域非常重要,为什么呢?因为多数情况下,发送者都不会只用一种加密方式来发送密文,那假如在信息的不同部位采用了不同的加密手段怎么做呢?Kappa检测此时就派上用场了。如果两段密文采用的是同种加密方式,那么,字母碰撞的概率一定会接近密文重码率Kr,如果采用的是不同加密方式,那么字母碰撞概率就会接近Kp。

这一句话价值万金!

仅用数学分析就破译了最高等级密码,他比图灵更厉害

密码分析工作很大程度上是对字母做频率分析

破译员应该怎么做呢?就是拿起两段密文不断进行字母比对,统计密文重码率。如果得到了Kr相近的数值,那么就可以认为是同种加密了。事实上,这里就相当于是我们要去一个未知的城市,这个城市的方向我们不知道,距离我们也不知道,做什么交通工具还是不知道。经过kappa检测之后呢,我们就知道了,这个城市在我们的东边大概200公里,坐高铁就可以到了。Kappa检测给我们提供了破译的方向,接下来就是具体的破译方法了。

到了这里,弗里德曼的助手所罗门·库尔巴克提出了kappa检测升级版Phi检测和Chi检测。

Phi检测通过比较理论Phi值和统计Phi值判定一份密文是由单一密表加密所得还是多份密表加密所得,区分原理大体相同于Kappa检测。而Chi检测则可以通过比较Chi值判定出两份密文的密钥是否一致。

仅用数学分析就破译了最高等级密码,他比图灵更厉害

二战中美军里的风语者们

机械式加密一般都会内置轮盘,所有复杂到难以破译的机器无非就是轮盘数量多点,变换复杂点而已。这一些障眼法在密码学分析上都是多表替换的结果。而到了弗里德曼这里,他们已经可以在不借助于任何外部信息的基础就将加密方式准确分类了,不再像图灵团队们还需要依赖一点外部线索才可以展开工作,弗里德曼揭露的是任何机械式密码的根本属性,只要是机械式加密,弗里德曼的理论就可以派上用场。在破译密码这方面,弗里德曼的境界要高出图灵太多!他们在数学频率统计基础上通过缜密细致的观察,就从密文里分析了各种各样的重要信息,并最终破译。弗里德曼团队发现的这套终极破译理论也是人类密码分析史上最大的成就之一。

仅用数学分析就破译了最高等级密码,他比图灵更厉害

机械轮盘加密本质上都是多表替换加密

按道理说,如果这是其他科学领域有了这么伟大的发现,那毫无疑问带来的是荣誉和财富,但是这里是密码领域,密码分析几乎等同于军事机密啊。因此弗里德曼团队没办法申请专利,只能默默地服务于美国陆军。在1956年,美国国会真的要给弗里德曼一笔补偿了,于是给了他10万美元,以此来奖励他的杰出工作。然而,弗里德曼的工作在战争时期的价值岂是十万美元就可以补偿的!

仅用数学分析就破译了最高等级密码,他比图灵更厉害

理论上不可破译的密码 量子加密

今天的密码被用在了我们知道的几乎所有领域,商业,军事,支付,区块链等等。可以说是密码确保了我们现在的生活是如此的安全可靠。今天的密码科学仍然在不断进步着,现在的量子密码已经被证明是一种理论上永远不可破译的密码了。可能弗里德曼那个针对于机械式密码的终极解决方案已经不再具有实践性了,但是人们会永远纪念那些默默奋斗在密码破译前线的科学家们!


分享到:


相關文章: