绘楠指着密文里对应两个your的QSCY解释道:“虽然明文密文不是一一对应会导致同样密文对应不同的明文,就像密文开头两个L对应的是t和h两个不同的明文,但不太可能导致整个单词都重复。
“随便计算一下,单字母因为巧合密文重复的概率是1/26,那两个字母的单词因为巧合重复的概率就只有1/626了,更长的单词重复则更加不可能。大致可以认为这样的重复间隔就是密钥长度的整数倍,接下来只要数出重复间隔,计算约数就可以得到可能的密钥长度。”
我觉得有点头痛:“但是这样,不是要去数全篇相同单词出现的次数吗?而且也不一定会这么巧有重复的单词吧?”
在正常的文本里我不介意做这种劳动,但是密文就好像一堆乱码,我实在没信心能正确无误地对比出所有单词;万一认真数完了却没有重复的单词,也很难知道是确实不存在还是数错了。
“不需要青浦先生亲自来数,”绘楠像魔法师一样做了个摘下礼帽的动作,华丽地一鞠躬,“好不容易到我的主场,请青浦先生安心观赏我的演出。”
说着叫我安心观赏,绘楠照样是把我扔去校对,自己去研究室把笔记本抱过来,开始敲敲打打。看在他勤奋编写破译算法的份上,我勉强原谅他了。
检索软体开始运行的时候,我非常认真地拜了拜电脑。绘楠被我的动静搞得哭笑不得:“又不是找不到就解密不了了……只要努力写出正确的算法、使用了足够的计算力就肯定可以解出来。这种事情都是数学上的必然。”
我反驳道:“虽然没有重复的单词也有办法得到明文,为了减小计算量,快点得到结果,还是能找到重复的单词最好吧。”
遇到绘楠之后我的运气向来不错,此前是好端端就会招惹到火灾的体质,现在去便利店居然能抽到想要的招待券了。不知道是不是这种体质使然,这次也很幸运地检索到了重复的六字母单词,之间的间隔虽然长达1070个字母,好在只有四个约数,由小到大分别是2、5、10和107。
“接下来要做大量的检索计算,分别以2、5、10、107和1070做循环,”绘楠在演草纸上写下这五个数字,做了一个斩断的手势,“把余数相同的密文字母合并,得到类似Affine加密方法的密文,在这里计算字母出现次数,就能解开暗文明文对应。”
“因为单词是被密钥切开了进行加密,不能再使用以单词为单位的出现次数了啊……”我叹了口气,难怪昨天奋力计算了一早晨也没有得到结果。
“按照世界范围英文文本里字母出现的规律,”绘楠在终端上打开了一个好像赛马竞技排名的页面,“可以知道最频繁使用的字母是'e',第二位是't',再之后是'a'。”
我则是起身凑到绘楠的笔记本前,看他编写的检索软体输出的密文字母频率:“嗯……用10做循环和1070,余1的密文里,出现最多的是V,其次是X,再次是N;而用其他数字做循环的结果里,密文字母的频率差别没有很明显。”
“是V,X,N对应e,t,a吗?”绘楠在演草纸上写下这两组字母,思考片刻,打了个响指,“密钥找到了。”
“诶?”我愣了一拍。
绘楠在两组字母之间划上了一个减号,解释道:“两组字母的3个顺差都刚好是R,的确是最简单的Vigene加密,基本可以肯定密钥第一位是R了。先不用管其他的可能,直接按照密钥长度是10个字母的假设,把剩下的密钥也找出来吧。”
之后,
网址已经更换, 最新网址是:blnovelhub.com 关于解决UC浏览器转码章节混乱, 请尽可能不要用UC浏览器访问本站,推荐下载火狐浏览器, 请重新添加网址到浏览器书签里
目前上了广告, 理解下, 只有这样才可以长期存在下去, 点到广告返回不了可以关闭页面重新打开本站,然后通过阅读记录继续上一次的阅读
搜索的提交是按输入法界面上的确定/提交/前进键的