我反驳道:“虽然没有重复的单词也有办法得到明文,为了减小计算量,快点得到结果,还是能找到重复的单词最好吧。”
遇到绘楠之后我的运气向来不错,此前是好端端就会招惹到火灾的体质,现在去便利店居然能抽到想要的招待券了。不知道是不是这种体质使然,这次也很幸运地检索到了重复的六字母单词,之间的间隔虽然长达1070个字母,好在只有四个约数,由小到大分别是2、5、10和107。
“接下来要做大量的检索计算,分别以2、5、10、107和1070做循环,”绘楠在演草纸上写下这五个数字,做了一个斩断的手势,“把余数相同的密文字母合并,得到类似Affine加密方法的密文,在这里计算字母出现次数,就能解开暗文明文对应。”
“因为单词是被密钥切开了进行加密,不能再使用以单词为单位的出现次数了啊……”我叹了口气,难怪昨天奋力计算了一早晨也没有得到结果。
“按照世界范围英文文本里字母出现的规律,”绘楠在终端上打开了一个好像赛马竞技排名的页面,“可以知道最频繁使用的字母是'e',第二位是't',再之后是'a'。”
我则是起身凑到绘楠的笔记本前,看他编写的检索软体输出的密文字母频率:“嗯……用10做循环和1070,余1的密文里,出现最多的是V,其次是X,再次是N;而用其他数字做循环的结果里,密文字母的频率差别没有很明显。”
“是V,X,,a吗?”绘楠在演草纸上写下这两组字母,思考片刻,打了个响指,“密钥找到了。”
“诶?”我愣了一拍。
绘楠在两组字母之间划上了一个减号,解释道:“两组字母的3个顺差都刚好是R,的确是最简单的Vigene加密,基本可以肯定密钥第一位是R了。先不用管其他的可能,直接按照密钥长度是10个字母的假设,把剩下的密钥也找出来吧。”
之后,按照余1相同的步骤,依次计算出余2、余3、乃至余0情况下合并的密文高频字母和数据库里英文文本高频字母的顺差,绘楠和我得到了由10个字母组成的密钥:
Rendezvous
“是个法语词啊,”我摸了摸下巴,这个词还蛮常见的,“ランデブー,译作相遇吗?好像也不太贴切……应该说是约会。”
绘楠微微皱起眉:“那个词,ランデブー的原文,法语的念法好奇怪。”
“Rendezvous?”我一时没反应过来,“还好啊,没什么特别的。”
“那个R的发音,”绘楠试着模仿了一下,“不是假名的ラ也不是英文的r。”
“啊,小舌音吗,的确对不会法语的人来说比较困难……”
……不会法语?
大发现!全能精英绘楠的致命缺憾!
我心中得意万分,故意模仿绘楠平时的口吻道:“诶?绘楠都不会法语的吗?太懒散了吧。”
我满心期待着把绘楠呛到哑口无言,绘楠却只是怔了一下,侧头望着我,疑惑道:“青浦先生希望我去学吗?”
略为停顿,绘楠的眼神沉淀下来,整个人的气场瞬间变得认真:“只要青浦先生说是,我就去报语言班,一定能在今年内达到跟青浦先生日常会话的水准。”
“等、等一下!”我被绘楠张口就来的计划和突然变得坚定的语气打了个措手不及,“你光是念书就每天学到晚上十点钟,真的有空去上语言班吗?还有啊,语言班很贵的,明明上个月刚刚买了新款滑雪板、已经沦落到找我借钱的程度……”
“时间可以挤占周末,费用可以打工去挣,”绘楠的表情一如既往地傲慢,仿佛什么都不重要,只要我答应就可以奋勇直前,“青浦先生只要告诉我,希望我去学法语吗?”
不知不觉间绘楠已经绕过桌子走到我面前了。绘楠本来就比我高,现在更是居高临下地俯瞰着坐在旋转椅里的我,气魄惊人得像领地内的雄狮一样。我都快被绘楠的气势逼到墙角,在令人窒息的气氛中,迫不得已地大喊出声:
“不!”
绘楠露出了果然如此的神情。
明明是我被绘楠的演技狠狠耍了一把,不知为何却忽然有了伤害到对方心情的负罪感,我郁闷地解释道:“我只是在开玩笑——”
绘楠忽然打断我:“我没有在开玩笑。”
我愕然。
绘楠却好像不想多谈,若无其事地重新问起了密钥的发音:“刚刚那个法语词,青浦先生再念一遍吧。”
“Rendezvous吗?”不知所措的我,下意识按照绘楠的要求重复了发音,随即想起来问题的重点,“先别管那个,刚才——”
“R-endezvous,”绘楠皱眉道,“好像有哪里不对。”
他又重复了几次发音,越发越离谱,我只好打断道:“r-endezvous,r发小舌音,是在喉咙里摩擦发出来的。”
于是话题被顺理成章地转移了。