百度搜索 深海风暴 天涯 深海风暴 天涯在线书库 即可找到本书最新章节.

    约翰·马里斯的实验室门是敞开着的,可是阿舍还是敲了敲门。

    “进来,”密码学家说。

    马里斯的实验室是研究站上最整洁的,屋子里看不到一星半点的灰尘。除了一个角落里小心翼翼叠放着的半打手册,他的办公桌上只有一个键盘和一台平板显示器终端。室内没有照片,没有海报,也没有其他任何个人纪念品。可在阿舍的眼里,这才是典型的马里斯:腼腆,内向,在个人生活和对事物的看法上几乎都深藏不露;全身心地沉浸在自己的工作中。对一个密码学家来说,这些都是理想的素质。

    遗憾的是,此时此刻,他的当前工作——这么一段简短而且似乎很简单的代码——原来却是如此难以捉摸。

    阿舍关上房门,在唯一一把来客坐的椅子里坐了下来。“我收到了你的信,”他说,“暴力破解有希望吗?”

    马里斯摇了摇头。

    “随机字节过滤呢?”

    “意思无法理解。”

    “我明白了。”阿舍灰心地陷进了椅子里。在他收到马里斯要他尽早过来一下的邮件时,他心里一阵激动,以为他已经破解出了那段代码。“尽早”这个词从安之若素的马里斯那里发出来,实际上是大声请求马上商量事情。“那么,它是个啥?”

    <samp>99lib.</samp>马里斯看了他一眼,又把目光转了开去,“我不知道我们是不是,也许,正从一个错误的角度去破解这些代码。”

    阿舍皱起了眉头,“什么意思?”

    “是这样。昨天晚上我正在读一本有关阿兰·图灵<span class="" data-note="英国数学家和逻辑学家(1912—1954),著名的“图灵机”(Turing Mae)设想的提出者。他是现代计算机理论的奠基人之一,有“计算机之父”和“人工智能之父”之称。"></span>生平的书。”<a></a>

    阿舍对此一点也不感到惊奇。作为一名追求完美的学者,马里斯正在致力于第二个博士学位:计算史上的重要时刻——阿兰·图灵是早期计算机理论的开创者,“说下去。”

    “嗯……你知道图灵机吗?”

    “你帮我重温一下吧。”

    “1930年代,阿兰·图灵提出了一个理论上的计算机设想,这就是著名的图灵机。它<a href="https://.99di/character/7531.html" target="_blank">由</a>一条其长度可以无限延伸的‘带子’所组成。‘带子’上有一些用有限字母系统书写的符号。一个基于某种查询表的‘读取头’从‘带子’上走过,读出‘带子’上的符号并释出其含义。根据读取的不同符号,‘读取头’的状态能够变化。‘带子’上储存的既可以是数据,也可以是‘转换方法’,也就是他意谓的一些小程序。在今天的计算机中,‘带子’就是存储器,而‘读取头’就是微处理器。<dfn></dfn>图灵声称这种理论上的计算机可以解决任何计算问题。”

    “说下去,”阿舍说。

    “我开始思考我们试图破解的这段代码。”马里斯用手指着计算机屏幕,上面显示的那个“守护神”发射的光脉冲信号,几乎像是在以它的简短和暧昧嘲弄着他们:

    <small>0000011111001010110101011001110111000101</small>

    <small>0110001100010100011010011000010000000000</small>

    “我在想:如果这是一条图灵‘带子’呢?”马里斯继续说道,“如果我们让这些0和1从一台图灵机上通过,它们又会怎么样呢?”

    慢慢地,阿舍坐着的身子朝前倾了过来。“你是说这80位代码……是一段计算机程序?”

    “我知道这听起来有点疯狂,先生——”

    还有什么疯狂能比得上我们身处这里这一事实本身呢,阿舍心想。“请接着说。”

    “好吧。首先,我必须把这些0和1字符串分解成一个个单独的命令。我假定开头的5个0和5个1,是用来表示每条指令长度的占位符——也即由数字组成的每一个‘词’的长度是5位。于是我们就得到了14条5位长的指令。”马里斯敲了一个键,屏幕上长长的数字串消失了,取而代之的是按顺序排列的一行行数字:

    <small>00101</small>

    <small>01101</small>

    <small>01011</small>

    <small>00111</small>

    <small>01110</small>

    <small>00101</small>

    <small>01100</small>

    <small>01100</small>

    <small>01010</small>

    <small>00110</small>

    <small>10011</small>

    <small>00001</small>

    <small>00000</small>

    <small>00000</small>

    阿舍注视着屏幕,“作为一个计算机程序它真是太短了。”

    “是的。显然,它应该是一个非常简单的计算机程序。而机器语言就是数字语言的最基本也最普遍的形式。”

    阿舍点点头,“然后呢?”

    “等今天早晨我到了办公室,我就写了一个小程序,把这些数值跟标准的机器语言指令序列进行比较。这个小程序把所有可能的指令一个个地分派到这些数值上,再检查是否能从中得出一个可以运行的计算机程序。”

    “是什么使你觉得这些信息——不管这信息是什么人发给我们的,它使用的也是跟我们一样的机器语言指令?”

    “基于二进制,先生,对任何可以想象到的计算装置,存在某种不可再缩小的通用数字指令集:加,减,转移,若为0则跳<strike>.99lib.</strike>过,还有布尔逻辑。所以我让这个小程序运行,并继续做我的其他工作。”

    阿舍点点头。

    “大约20分钟以前,这个小程序运行结束了。”

    “这14行二进制数字被转译出任何可行的计算机程序了吗?”

    “是的。得到了一个。”

    阿舍觉得自己的兴致突然飙升起来。“真的?”

    “是一个简单的数学表达式程序。就是这个。”马里斯敲了另一个键,一系列指令出现在了他的显示器屏幕上。

    阿舍急切地弓腰凑了上去。

    <small>指令/助记符注释</small>

    <small>00101ADD/将地址13(10进制数)的内容取出放入累加器中</small>

    <small>0110101101/建立起一个标志</small>

    <small>01011M/将标志值取反</small>

    <small>00111PLC/把结果值放入地址14</small>

    <small>0111001110/</small>

    <small>00101ADD/对地址12的内容作减法运算<span class="" data-note="原文如此。估计此处对应的助记符ADD(加法运算符)系SUB(减法运算符)之误。"></span></small>

    <small>0110001100/</small>

    <small>01100ISZ/将标志值加1,如果值为0则转移</small>

    <small>01010JMP/返回到第6步重复执行</small>

    <small>0011000110/</small>

    <small>10011END/程序结束</small>

    <small>00001/地址12</small>

    <small>00000/地址13</small>

    <small>00000/地址14</small>

    “这程序是干什么的?”阿舍问。

    “你会注意到它的代码在一个循环中做了一系列的重复减法运算。在机器语言里,这种方式就是在做<q></q>除法:通过重复做减法来实现。哦,这只是一种方法——你也可以通过做算术右移来实现——但那样一来你就得需要一套更专业化的计算系统。”

    “这么说它就是一条除法语句?”

    马里斯点点头。

    阿舍感到自己在惊讶和困惑之中还夹杂着突如其来的极度兴奋,“别吞吞吐吐的了,老弟。他们除的是个什么数字?”

    “1。”

    “1。那它又被什么数字来除?”

    马里斯舔了舔嘴唇,“哦,你瞧,问题就在这里,先生……”

百度搜索 深海风暴 天涯 深海风暴 天涯在线书库 即可找到本书最新章节.

章节目录

深海风暴所有内容均来自互联网,天涯在线书库只为原作者林肯·奇尔德的小说进行宣传。欢迎各位书友支持林肯·奇尔德并收藏深海风暴最新章节