如果概率破解撞上了凯撒密码
凯撒密码是将所有的字母往后移的密码,是很早就出现的加密技术。
在他之后,层出不穷的加密方法开始出现。而加密技术,常常用于保障重要情报就算被泄露出去,敌方也看不懂上面的内容。
有时候,往往为了破解一种加密方法,很多人为此付出了一生也未能有所突破。
在调查了市面上的书籍,信件,报纸的内容后,人们发现每个字母出现的频率并不相同,而这,就为概率破解提供了思路。
研究了大量的文献后,一张附带每个字母出现频率的字母表,诞生了。
以上即为简要介绍。

下面是实操时间
我用WPS的表格将这张特制的字母表抄下来,然后排序,这就有了本次测试的主角

然后我在网上找了一个专门用于凯撒密码加密的网站,把谷歌用中文翻译成英文的文章放了进去。我想知道的是,对于篇幅较小的文章,这种概率到底靠不靠得住。

原文如下

接下来要做的十分简单,甚至有点枯燥。
只需要把加密文章里的26个字母全部拎出来统计其个数,然后写到表格里进行排序就可以了

一开始时,我犯了个错误,因为自己写到后面,发现其统计出来的数据居然比前面都高。结果是因为在进行字符替换时,把之前弄好的也一起换了。这就导致我解出来的文本相当于又加了一层密。
把所有问题排除了,于是如法炮制的重新做了一次。
增加了一个中文的缓冲区,这样无论如何数据也不会搞混。

本以为出来的结果至少还能看懂一两个单词,但是事实证明,我还是太嫩了。

所以,第一次向凯撒密码的挑战,就因为这堆乱码一样的东西而宣告失败了。
首先,文本内容太少了,这就导致其误差可能相当的大。
而对于概率破解来说,来自同一方的文献越多,它就越准确。
这是一种堪称万能钥匙般的存在,一些著名的密码,比如:
1.血字的研究
2.猪圈密码

3.莫斯密码

如果长期接收到设置这种密码的信件或者一封大量使用这种密码的信件,那么用概率破解就可以大致猜出内容。

但是!
这个漏洞早就被人发现而且堵得死死的了!
这个补丁,依靠的正是随机数或者伪随机数。
这种方法需要联络的双方都有一段相同的随机数列,再互相约定使用随机数列的具体内容。
比如在随机数列中,取值25~54,以此来达到破坏普通书信中字母出现的固定频率。
它的一个豪华升级版是一次性密码本,那种密码连破解的可能性都没有。
(当然我也就没有做这种)
我用一段更加简短的文本测试,以此来检验这种加密方法的可靠性。
这里随便写了一些(当然不是因为小鲨鱼太可爱了)

由于排版问题,这里拆开放两张图


这就是加密效果

我使用的是圆周率计算到后面的数列,这下彻底实现随机数自由了

不死心的我又试着分析了一下其他用随机数处理的文本当中,26个字母出现的频率
结果如下:

不要说所有的字母出现频率平均了,有些字母甚至根本就没有频率......
这样一眼就可以看出差距

我检查了一下过程,结果是有多个字母在加密过程后在共用一个字母。
所以就算是长得一模一样的字母,也可能因为对应的序号不同而被还原为不同的字母
这样的方法是相当可靠的。
只是对方就算拿着密码本,也知晓规则,解密的过程都会相当费力就是了。
都看到这里了,那么,你一定是个相当有耐心,相当出众的人。
这里有一个小挑战,不来玩玩吗?
