0%
第二十五章

第二十五章

「我知道這聽起來有點瘋狂,先生——」
00111
01110
馬里斯搖了搖頭。
0011000110/
「大約20分鐘以前,這個小程序運行結束了。」
01011CNM/將標誌值取反
00111PLC/把結果值放入地址14
「這14行二進位數字被轉譯出任何可行的計算機程序了嗎?」
00101
「進來,」密碼學家說。
00101ADD/對地址12的內容作減法運算
00101
00000
「隨機位元組過濾呢?」
10011
0111001110/
慢慢地,阿舍坐著的身子朝前傾了過來。「你是說這80位代碼……是一段計算機程序?」
「好吧。首先https://read.99csw.com,我必須把這些0和1字元串分解成一個個單獨的命令。我假定開頭的5個0和5個1,是用來表示每條指令長度的佔位符——也即由數字組成的每一個『詞』的長度是5位。於是我們就得到了14條5位長的指令。」馬里斯敲了一個鍵,屏幕上長長的數字串消失了,取而代之的是按順序排列的一行行數字:
01100
01011
阿舍關上房門,在唯一一把來客坐的椅子里坐了下來。「我收到了你的信,」他說,「暴力破解有希望嗎?」
阿舍點點頭,「然後呢?」
00001/地址12
01010
「說下去,」阿舍說。
00001
00000/地址14
01100
「你幫我重溫一下吧。」
00000/地址13
「你會注意到它的代碼在一個循環中做了一系列的重複減法運算。在機器語言里,這種方式就是在做除法:通過重複做減法來實現。哦,這隻是一種方法——你也可以通過做算術右移來實現——read.99csw•com但那樣一來你就得需要一套更專業化的計算系統。」
01010JMP/返回到第6步重複執行
「是這樣。昨天晚上我正在讀一本有關阿蘭·圖靈生平的書。」
「基於二進位,先生,對任何可以想象到的計算裝置,存在某種不可再縮小的通用數字指令集:加,減,轉移,若為0則跳過,還有布爾邏輯。所以我讓這個小程序運行,並繼續做我的其他工作。」
「是的。得到了一個。」
「1。那它又被什麼數字來除?」
馬里斯看了他一眼,又把目光轉了開去,「我不知道我們是不是,也許,正從一個錯誤的角度去破解這些代碼。」
0000011111001010110101011001110111000101
阿舍覺得自己的興緻突然飆升起來。「真的?」
約翰·馬里斯的實驗室門是敞開著的,可是阿舍還是敲了敲門。
「嗯……你知道圖靈機嗎?」
00000九九藏書
還有什麼瘋狂能比得上我們身處這裏這一事實本身呢,阿舍心想。「請接著說。」
「這程序是幹什麼的?」阿舍問。
「意思無法理解。」
馬里斯點點頭。
馬里斯舔了舔嘴唇,「哦,你瞧,問題就在這裏,先生……」
「我明白了。」阿舍灰心地陷進了椅子里。在他收到馬里斯要他儘早過來一下的郵件時,他心裏一陣激動,以為他已經破解出了那段代碼。「儘早」這個詞從安之若素的馬里斯那裡發出來,實際上是大聲請求馬上商量事情。「那麼,它是個啥?」
「1。」
「這麼說它就是一條除法語句?」
阿舍感到自己在驚訝和困惑之中還夾雜著突如其來的極度興奮,「別吞吞吐吐的了,老弟。他們除的是個什麼數字?」
阿舍注視著屏幕,「作為一個計算機程序它真是太短了。」
0110001100/
「是的。顯然,它應該是一個非常簡單的計算機程序。而機器語言就是數字語言的最基本也最普遍的形式。」
「我在想:如果這是一條圖靈『帶子』呢?」馬里斯繼續說道,「如果我們讓這些0和1從一台圖靈機上通過,它們又會怎麼樣呢?」
「我開始思考我們試圖破解的這段代碼。」馬里斯用手指著計算機屏幕,上面顯示的那個「守護神」發射的光脈衝信號,幾乎像是在以它的簡九-九-藏-書短和曖昧嘲弄著他們:
01100ISZ/將標誌值加1,如果值為0則轉移
10011END/程序結束
「是一個簡單的數學表達式程序。就是這個。」馬里斯敲了另一個鍵,一系列指令出現在了他的顯示器屏幕上。
阿舍對此一點也不感到驚奇。作為一名追求完美的學者,馬里斯正在致力於第二個博士學位:計算史上的重要時刻——阿蘭·圖靈是早期計算機理論的開創者,「說下去。」
「等今天早晨我到了辦公室,我就寫了一個小程序,把這些數值跟標準的機器語言指令序列進行比較。這個小程序把所有可能的指令一個個地分派到這些數值上,再檢查是否能從中得出一個可以運行的計算機程序。」
01101
遺憾的是,此時此刻,他的當前工作——這麼一段簡短而且似乎很簡單的代碼——原來卻是如此難以捉摸。
00101ADD/將地址13(10進位數)的內容取出放入累加器中
0110101101/建立起一個標誌
阿舍急切地弓腰湊了上去。
馬里斯的實驗室是研究站上最整潔的,屋子裡看不到一星半點的灰塵。除了一個角落裡小心翼翼疊放著的半打手冊,他的辦公桌上只有一read.99csw.com個鍵盤和一台平板顯示器終端。室內沒有照片,沒有海報,也沒有其他任何個人紀念品。可在阿舍的眼裡,這才是典型的馬里斯:靦腆,內向,在個人生活和對事物的看法上幾乎都深藏不露;全身心地沉浸在自己的工作中。對一個密碼學家來說,這些都是理想的素質。
「1930年代,阿蘭·圖靈提出了一個理論上的計算機設想,這就是著名的圖靈機。它由一條其長度可以無限延伸的『帶子』所組成。『帶子』上有一些用有限字母系統書寫的符號。一個基於某種查詢表的『讀取頭』從『帶子』上走過,讀出『帶子』上的符號並釋出其含義。根據讀取的不同符號,『讀取頭』的狀態能夠變化。『帶子』上儲存的既可以是數據,也可以是『轉換方法』,也就是他意謂的一些小程序。在今天的計算機中,『帶子』就是存儲器,而『讀取頭』就是微處理器。圖靈聲稱這種理論上的計算機可以解決任何計算問題。」
阿舍皺起了眉頭,「什麼意思?」
「是什麼使你覺得這些信息——不管這信息是什麼人發給我們的,它使用的也是跟我們一樣的機器語言指令?」
00110
0110001100010100011010011000010000000000
指令/助記符註釋
阿舍點點頭。