下一章 上一章 目录 设置
5、第一条禁令 ...
-
我在考虑一个问题。这个问题很大,很可能囊括了之后我所碰到的所有危险。那就是——我们所解决的问题是否在我们的能力范围内?
我姑且认为我是执棋者。当我开始一场交锋时,我是否会考虑到我的棋子的能力?我永远不可能让我的象一步走出四格,如果那样行得通,那就是作弊。我可以直接让自己的王杀死对方的国王。如果我是执棋者,我的棋子永远无法走出超出它们能力范围的步数,于是游戏开始变得有趣了起来。
我们有三个小时。
我们能在三个小时之内发明出破解所有英格玛机产生密码的图灵机*吗?
——不可能。
我所“复制”出来的简易英格玛机完全出于手动,因为它的构造非常简单,但是图灵机呢?那是个很大的家伙,是现代计算机的始祖。它需要电,需要零件,需要无数的电线……
于是我将这场性质恶劣的游戏归结为“捉迷藏”。我们要找到所有的关键性的解题道具,然后我们必然有某种方式能够获得胜利——哪怕获得胜利的途径实在艰险,获得胜利的希望实在渺茫。
我猜测那一定有一本密码本。那本密码本替代了图灵机的作用,提供给“棋子们”英格玛机的初始设置,让我们在这个单元内不至于失败得太难看。但究竟这个死亡游戏里有没有那样东西,实在很难肯定。
我坐在那堆破烂前思考,差一点咬碎了自己的指甲。这是我很小时候的习惯了,但是一紧张起来,我忍不住这么做。
我又一次掐了掐我的小拇指,痛觉。这是真实的,我的确在一个做梦梦见过的破败别墅里,试图破解二战初期的英格玛密码——在三个小时之内——这简直是开玩笑。
我看了一眼二楼。龙虾和李离开之后,整个可视范围内只剩下了我自己。他们去了很久,久到我几乎等不住了。计数器上的字符一直在跳动,我们快要没有时间了。四面一片寂静,任何动物的声音都听不到。我开始恐慌起来。他们是真实的人吗?他们的确出现过吗?是我自己的幻觉吗?我是不是始终一个人坐在这里,认为陷入了一场恐怖的逃生游戏,不可自拔?
我为什么要离开帐篷?我为什么会出现在这里?这究竟是真实还是我光怪陆离的梦?
破败的别墅没有任何声音。这是正常的吗?我只看到过一种动物,那是一只被龙虾咬破了肚皮的乌鸦。那只乌鸦的尸体呢?我没有再看到它了,它去哪儿了……
我忍不住站了起来。我不喜欢待在人多的地方,以为我总能看到他们背着我说我的恶语,我更喜欢一个人,然而总有人能从各个角落里冒出来。他们有一些从墙上钻出来,有些从天花板里掉下来,有一些在我的面对的镜子里,当我在镜子里看着自己时,总有一些别人在里面看着我。我拆掉了我房间的所有镜子,将我的玻璃窗都贴上黑色的纸。
女人认为我应该多晒太阳,她劝服我将自己房间的一扇窗的黑纸撕掉,于是我那么干了。我认为那是她想要随时进入我的房间杀死我的通道。
我喜欢一个人,更害怕一个人。我站在空旷的空地上,面前只有一堆破烂和一个快要爆炸的炸弹。我强烈怀疑它们的真实性,更加怀疑我自己的真实性。我害怕地叫起来:“龙虾!龙虾!”
任何一个谁来回应我都好,我需要一个人。
我需要一个人。
“龙虾!”我大叫道。
没有人回应我。
我的心仿佛突然坠下去,慌得厉害。心脏在胸腔里用力跳动。
我用力按压自己的小指,但是强烈撞击的心脏让我已经分不清我的小指到底有没有在疼痛了。
就在这时,一个人的脑袋终于从二楼的栏杆上冒出来。龙虾说:“干嘛?”
我张了张嘴。
“你害怕了?”
“我没有。”
“你害怕了。”
“我没有!”
龙虾放肆地笑了起来。
他问我:“还有多少时间了?”
“一小时四十四分钟。”
“你的手机还有电吗。”
“没了。”
“手电筒呢。”
“在你手里。”
“哦,很好。”龙虾的脑袋消失在上方。我有些愤怒地看着上方,不敢相信他就这么留下一堆毫无意义的问话离开了。接着他突然又出现了:“再给我五分钟。”然后他的脑袋又消失了。
我在五分钟里考虑着乱七八糟的事,最后开始背圆周率。圆周率很好背,我能轻易背到后面七十几位。当我卡在第八十二位时,龙虾从二楼下来了,他的手里拿着一个很小的本子。
“看看。”
我打开了那个小本子。
“这是什么?”我看着这个本子。
“你想要一个密码本,我给你了。”龙虾说。
我瞪着他说:“你给我一个空的‘密码本’?”
“这不是空的。”龙虾说。
我翻来覆去地翻看,这本空白的本子上,只有扉页用钢笔写了几行字:For Dear Elise(献给亲爱的爱丽丝).
龙虾将电筒放在纸的背面,我惊讶地看到一行混乱的无序字符渐渐出现在了下方:THEPQNGSQ。
随着龙虾的电筒下移,更多的字符无序地显示在纸页上。我几乎是立刻将它抢了过来。
龙虾说得没错——这的确是一本密码本。
我将地面一块石砖上的灰尘胡乱地用手扫开,拿起一块李之前用的尖利的石头写下了两行字:
FOR DEAR ELISE
THEPQNGSQ
“1929年……”我的嗓音几乎有点颤抖,“凯撒……维吉尼亚……阿特贝斯……*希尔(Hill)密码——”我的身体猛地停止了颤抖。
龙虾盯着我。
“希尔密码。”我对他说。
龙虾依旧没有明白。我不再理睬他,开始飞快地运算。希尔密码的加密方式和解谜方式都非常简单,它们的运算量不大,只要知道那一串混乱的字符究竟是明文还是密文或者是秘钥就足够了。
我用了十五分钟来进行三种可能的尝试,龙虾一直在一旁盯着我的字迹。我从第一块转一直算到了第五块,然后我停了下来,几乎是有些激动地看向龙虾。
“这是明文,”我指着第一行字,“这是密文。”我又指向了第二行。
“秘钥在明文中间,是个二阶秘钥。”
“什么?”龙虾皱起了眉来。
“秘钥!你不明白吗?”我睁大眼睛看着他,“秘钥是‘DEAR’!”
我开始飞快地在地面上书写,尖利的石头划出令人毛骨悚然的响声。
“从0开始,将26个字母编号,A对应0,B对应1……加密方式是将明文‘FOR ELISE’按照两个字母为一组的方式分开。”我在地面上划出“FO RE LI SE”的字样。“将它们用数字写下来,形成一个列矩阵:5-14 17-4 11-8 18-4,乘——以——”我将“DEAR”同样编号,划出一个二阶矩阵“3-0 4-17”。
“将它们相乘,将会得到一个全新的密文矩阵:71-238 67-68 65-136 70-68,减去它们的公倍数26,能得到最终的密文矩阵19-4 15-16 13-6 18-16——这就是密文TE PQ NG SQ!”我将石头丢在地上,长长舒出了一口气。
龙虾用一种怪异的目光看着我。“你是怎么知道秘——秘钥的?”
“我试了三次,每次只要尝试前两位,”我说,“我从TEPQNGSQ开始解密,这比加密更麻烦一些。”我指向了前面的一块砖。“我发现每一次到DEAR的时候就开始变化,所以我猜测那是秘钥。”
“现在我们知道了秘钥,只要将所有的26个字母组成一整个二阶矩阵,乘以秘钥的转置矩阵——我是说,乘以27和行列式值的最小公倍数后的转置矩阵,就可以得到所有26个字母分别对应的密文字母——”
龙虾耸了耸肩,说道:“然后呢?”
我意识到他一点儿都没听懂。“然后?在26个字母里只有6个是有效字符,所以我们已经获得了一整个字母替换表!”
龙虾托着他的下巴,看了我一会儿:“所以我们还缺少什么?”
我张了张嘴。然后我意识到了什么。我将手电筒再次对着这本册子的其他页面照射过去,每五页上都出现了字母。
我问道:“李呢?”
“他在找吃的。”
“让他过来,”我说,“我需要一个助手。”
-
李回来的时候告诉我们他找到了一个鸟窝,我对这里居然有个鸟窝报以深切的怀疑。他将头上的树叶拨了下来,开始按照我的命令计算秘钥。
三个转子有三个不同的对应字符,我们已经得到了一套密码对应本,还需要另一套。但这一次只需要十二个字符。李负责寻找三个转子的对应字符,而我则开始计算那本小本子上显而易见的几行密码。
当龙虾嚼着草问我们“怎么样了”时,我怀疑他一直在盯着我的表情。我一屁股坐在地上,将磨圆的石头丢在一旁,抬了抬下巴。李尖叫起来:“成功了?!”
我将自己撑起来,来到先前组装的那堆破烂旁。先将面板下方的十二个替换字母互相连接,然后设置三个转子的初始位置,接着调整反射板。按照最初的英格玛机反射板设置,接着将两套字母分别按照先前得出的希尔密码对应起来。
当我们忙完这一切,龙虾吐出了他嘴里的草根。他问我:“还有多少时间?”
我看了一眼计时器,心脏猛地缩了一下。“四分钟。”
可我们还不知道密码是什么。
我们必须要输入一个密码,由我们简陋的“英格玛机”得到明文,接着再由明文敲击进入计时器。
我荒谬地看着之前一直在嚼草的龙虾:“为什么你一直坐在那儿?”为什么他不去寻找更多的资源?
龙虾看着天空,忽然说:“明文和密文必须是规定的吗?”
“什么?”
“我是说,明文必须是有秩序的,一行确定的字符,而密文必然是无序而混乱的吗?”
“不,”我不耐烦地说,“密文更多时候是明确的含义,就像二战时期英军截获德军的电报看上去总是天气预——报……”我突然睁大眼睛,意识到龙虾是什么意思了。
“如果,”龙虾说,“我们将确定的密文塞进去——已知的某些消息,会出现什么呢?”
我愣住了。龙虾站了起来,来到我身边,在我们的“英格玛机”前蹲了下来,他用他长长的食指点了几个字母,说:“如果输入这个,出来的是什么?”
龙虾指的是:Chronos(柯罗诺斯)。
李没有等我反应就开始动手转动转子,我看着那些破碎的零件被手动转动,答案先一步跳入了我的脑海。
李将出来的字符刻在地面上,那赫然是——Ananke(阿南刻)。
我抬起了头,看向了龙虾。
“Ανάγκη*,”龙虾说,“宿命与定数之神,Χρόνος的妻子。”
我猛地看向了计时器。没有等龙虾问我,我喊道:“还有三十秒!”
作者有话要说: 注1:图灵机*:现代计算机的原始模型,图灵发明的。可以计算出英格玛机的所有设置。
注2:“凯撒……维吉尼亚……阿特贝斯……*希尔(Hill)密码——”:这堆都是历史上比较有名的简单的密码,文中提到的希尔密码是1929年出现的,主要应用矩阵来进行破解。转置矩阵是指当一个n阶矩阵A和另一个矩阵B相乘的结果是E(也就是n阶单位矩阵)的时候,B就是A的转置矩阵,同样它必然也是n阶的,也叫作希尔逆矩阵。(这个不了解没关系,我就随便科普一下。学过线性代数的小朋友们大概知道。)
希尔密码的加密方式就和文中提到的一样,解密稍微麻烦一点,因为转置矩阵计算的时候会出现负数,一般两种方法解决,一个是最小公倍数法,也是文中提到的,另一个是对元素取模(正数)后求逆的过程。同样能够求得希尔逆矩阵也就是转置矩阵也就是秘钥。
注3:Αν?γκη*(希腊语Ananke)(英语是):阿南刻,希腊神话密教里柯罗诺斯的妻子,掌管命运、宿命、定论。拥有不可违抗的神格和意志。就连他老公柯罗诺斯也没法违抗(喂。)
====
看不懂的小伙伴们并不用紧张,后面不会这么烧脑( ̄V ̄)┍(其实是作者发现每次更新都要写一通草稿纸计算有点烦(喂。))