哪一条呢?‘all-is-known,fly-at-once’,经典又方便。我们把这段话写下来,把它一组两个字母这样分开。但两个相同的字母不能在一起,如果有这种情况发生,我们就插进Q或者Z或者别的不影响阅读的字母,只要对方能够理解就可以了。所以我们的信息就变成了AL—QL—IS—KN—OW—NF—LY—AT—ON—CE。”
“结果结尾的时候只有一个字母呢?”
“那么我们就再加上Q或者Z或者别的不影响阅读的字母来填补空缺。现在,我们来编第一组,AL。我们发现,在表格里,这两个字母构成了一个长方的对角,而以它为对角线的另外两角则是SP。所以最先的两个字母在编码后的信息里就变成了SP。同样的,QL变成了**,IS变成了FA。”
“哈!”警长喊着,“但KN呢?它们是在同一条垂直线上的。它们会变成什么?”
“你选它们下面紧接着的那个字母——TC。下面一个是OW,你可以自己用对角线的方法来做一下。”
“MX?”
“就是MX,继续。”
“SK,”局长说,一边高兴地在这个角落和那个角落中间连对角线,“PV,NP,UT——”
“不对,是TU。如果你的第一个对角线是从下面向上画的,那么你取另外一条对角线的时候也要从下向上画。ON等于TU,NO才是UT。”
“是的,是的。TU,哈!”
“怎么了?”
“CE在同一个水平线上。”
“那就选每个字母右边临近的那个。”
“但在字母C的右边没有字母了。”
“那就是这一行最左边的那个。”
这让局长困惑了一会儿,但他最终还是得出了DR。
“这就对了。所以你编码后的信息就是:SP—**—FA—TC—MX—SK—PV—NP—TU—DR。为了使它看起来好看一点,也为了不泄露你编码的途径,你可以把字母断成任何你喜欢的长度。这都没有关系。收到这条信息的人会无视这些修饰的,他只会简单地把字母两个两个地分组起来,在密码表格的帮助下阅读。先是找对角线,如果是垂直线上的话,就找它上面相邻的字母,如果在同一水平线上的话,就找左边相邻的字母。”
两位警察对着那个表格仔细地琢磨了一会儿,然后顾鹏飞说:
“我明白了,夏想。这非常聪明。你不能根据最常出现的字母来猜,因为跟它组对的那个字母不同的话,每次都能得到一个不同的对应编码字母。而且你又不能猜单个的单词,因为你不知道那单词是从哪里开始哪里结束的。如果没有关键词的话,有没有可能破译它呢。”
“可以。”夏想说,“任何曾经被编码过的密码都有可能被解码,你要你不怕痛苦,足够耐心——除了有些书里的编码的确是无法破解的。我认识一个人,他好多年来一直专攻这一行。那些密码表格深陷在他的生活当中,以至于他长水痘的时候,疹子都不是点状的,而是方格状的。”