第五十三章

投票推薦 加入書籤 小說報錯

  舊金山港的霧是從海面上爬過來的。

  不是那種浪漫的薄紗似的霧,是沉甸甸的、帶著咸腥味和柴油尾氣的東西。

  它從金門大橋的橋墩之間灌進來,沿著防波堤一寸一寸地推進,吞掉貨櫃吊機的紅色鋼架,吞掉泊位上那些印著各國文字的貨輪舷號,吞掉碼頭上零星幾個穿反光背心的工人手裡明滅的菸頭。

  陳寅靠在一輛鏽跡斑斑的福特皮卡上,看著三十七號碼頭最後一批夜班工人從閘口走出來。

  他們穿著沾滿機油的連體工裝,肩上的反光條在霧裡變成一圈一圈模糊的光暈,像是被泡化了的水母。

  他從口袋裡掏出一張摺疊過不知多少次的紙條,展開,借著碼頭上那盞唯一還亮著的鈉燈看了一眼。

  紙條上只有一行字,是阿德里安用火柴頭蘸著機油寫在撕開的煙盒紙上的:

  「聖米格爾之星。三十七號碼頭。周三晚十一點裝箱。」

  字跡潦草,但每一個字母都寫得很大,像是怕看的人認錯。

  陳寅把紙條重新疊好,放回口袋裡。他的眼睛在霧裡眯了一下,然後他看到了那艘船。

  巴拿馬籍,船身漆成褪色的海藍色,吃水線以下鏽跡斑斑,船首的船名模糊得幾乎看不清。

  它安靜地靠在三十七號碼頭最里側的泊位上,像一頭被拴在角落裡的老牛,既不顯眼也不著急。碼頭上的人來來往往,沒人多看一眼。

  但這正是問題所在。

  陳寅在這個港口觀察了四天。四天裡,他記住了每一班工人的換崗時間,記住了每一台龍門吊的作業周期,記住了海關巡檢的巡邏路線——

  每天下午兩點和晚上八點,兩個人,一輛白色道奇,從不遲到。

  但「聖米格爾之星」不在任何一張公開的靠泊計劃表上。

  他問過鐵錘,鐵錘沉默了片刻,用那種沙啞的、被香菸和威士忌浸泡過的聲音說:

  「這艘船每個月來一次,每次停三天,裝的貨永遠不一樣。上個月是四十枝M4卡賓槍,上上個月是兩貨櫃冷凍血漿。再往前——」

  鐵錘頓了頓,「再往前,我不知道。我的人查不到那個時間段的記錄。」

  「為什麼查不到?」

  「因為赫爾曼港口服務公司的系統被格式化了。三年前的事。火災。」

  火災。又是火災。

  陳寅把目光從船身上收回來,轉身朝碼頭的監控死角走去。

  他走得不快,步伐均勻,每一步落地的聲音都和碼頭上那些被風吹動的纜繩拍打聲混在一起。他穿著一件深灰色的連帽衛衣,帽子沒戴,但衛衣的顏色在霧裡幾乎和水泥地面融為一體。

  他的呼吸平穩得像一台剛出廠的三菱電機。

  他的手揣在褲兜里,右手掌心貼著一把沒有任何編號的格洛克19,槍身冰涼,握把被他的手溫捂得微微發潮。

  四十分鐘前。


  陳寅見過這種表情——兩個月前,在布萊頓公寓那間四十平米的小客廳里,德雷克第一次出現時,就是這副模樣。

  眼鏡片上全是雨水,襯衫領口解開兩顆扣子,領帶歪在一邊,整個人像是被人從水裡撈起來又擰了一把。

  但這一次他旁邊那個女人沒有來。

  取而代之的是一個陳寅從未見過的年輕女孩。

  她坐在餐桌的角落裡,雙手捧著一杯羅德尼倒的熱可可,手指纖細白淨,指甲修剪得很短,邊緣有些參差不齊,像是被自己咬斷的。

  她穿著深灰色粗呢大衣,裡面是暗綠色高領毛衣,頭髮束成一根粗辮子搭在左肩。

  她的眼睛微微紅腫,像在某個地方哭過很久,但此刻她已經沒在哭了。

  她把熱可可杯放下,手指在杯子上反覆摩挲著杯耳,然後抬起頭,看著陳寅。

  「我叫野間。野間惠。」

  她的英語帶著輕微的口音,但咬字極清晰。陳寅注意到她說自己名字的時候,用的是日語的發音——Noma Megumi,而不是任何英文名字。

  這讓她在這個塞滿舊家具和機油氣味的廚房裡,顯出一種格格不入的乾淨。

  「惠的父親是野間誠一教授,東京大學分子生物學實驗室的前主任。」

  德雷克把電腦往前推了一下,往陳寅面前推了半個手掌的距離,「也是卡拉漢研究所的副總裁,卡拉漢本人在亞洲地區的首席研發合伙人。」

  「前合伙人。」

  野間惠糾正道,她的聲音很低,但語氣篤定。

  「我爸三個月前和卡拉漢徹底決裂,離職文件上有法律效力的那種決裂。一周之後他發生車禍,當場死亡。

  警方結論是酒駕,但他已經十五年沒碰過酒了,從他查出胃病的那一年開始就不再碰。」

  陳寅沒有接話,目光從德雷克臉上掃過,落在對面那個年輕女孩握杯子的手指上。

  十指都在微微顫動。不是因為夜裡冷,是某種反覆壓了太久的內容,正在往外面滲。

  「林薇博士呢?」陳寅收回目光,看著德雷克。

  德雷克和林薇上次一起來據點時,林薇還坐在同一把摺疊椅上,用那雙和陳寅瞳孔顏色幾乎一模一樣的深棕色眼睛看著他,一字一頓地告訴他:

  普羅米修斯只是車禍,不是暗殺,是車禍;奧斯汀實驗室的火只是意外,還沒來得及查清楚。但這一次她沒有來,只有德雷克一個人帶著一個新出現的角色。

  「她在奧斯汀。」

  德雷克的聲音有些發乾:

  「上周三,奧斯汀那個臨時實驗室被人從內部黑了一次——所有備份數據在凌晨被同步刪除,伺服器管理日誌上顯示的是一個根本不存在的管理員權限。

  唯一能解釋的是有人拿到了我們在火災前沒來得及關停的遠程埠,繞過雙重防火牆打進去的。」

  野間惠幾乎同時開口,兩個人在說同一件事的不同半段。

  「同一周,舊金山港那邊有人調高了斯巴達人的加密強度,把一個老掉牙的埠映射進了奧可多殘存的節點裡。

  動作極快,前後不超過三天。我爸之前說過一句奇怪的話——『關掉斯巴達人的鑰匙不是密碼,是人』。」

  陳寅把目光鎖在她臉上。「『斯巴達人』是什麼?」

  「普羅米修斯的前置序列號。但這個序列號本身也是活的——它可以自動獲取推送對象的地理位置和生物特徵信號。我爸說它就像一個沉默的管家,什麼都不說,但該推的每一條都精準推送到位。」

  她停頓了一下,指尖在杯耳上輕輕敲動,緩慢、無規律,像摩爾斯電碼的殘片。

  「如果斯巴達人沒有密碼——」她說,「那就有人在。一直有人在看這些推送。」

  一個念頭在陳寅腦子裡成型。他忽然看向德雷克。「那台電腦的加密算法跟你們備份伺服器上用的是一套嗎?」

  「是。一模一樣的協議層,同一組根密鑰。」德雷克從濕漉漉的背包里取出那台燒焦的筆記本,用手指點了一下外殼底部那道已經融化大半的銘牌——OCTO-LAB-0421,HARDWARE

  ID: 7F-3A-9C,MFG DATE: 2023-08-14。

  「怎麼解?」

  「暴力破解要六十年。側信道攻擊,我們試過,不行。」

  德雷克摘下眼鏡,用襯衫下擺擦著鏡片上的水霧,動作里透出一種明顯的、掩飾不了的疲憊。

  野間惠忽然開口。

  「我爸的遺囑里提到過一個名字。」

  她把熱可可杯放在桌上,從口袋裡摸出一張對摺的紙條,遞給陳寅。

  「他在卡拉漢研究所的最後一個項目代號是『Babel』,實驗筆記里反覆引述過一篇論文。

  論文的作者,是斯坦福物理系的詹姆斯·麥考密克——一篇關於蛋白質摺疊能量景觀的量子模擬。」

  廚房裡沒有人說話。直到阿德里安嘴裡沒點的煙掉在腳邊,他彎腰去撿的時候帶翻了柜子上的不鏽鋼盆,當的一聲響如同某種信號。

  陳寅拿起手機撥給克萊恩先生,那個在努埃瓦學校科學樓二樓擁有自己實驗室的物理老師。

  電話響了很久,久到即將自動掛斷,克萊恩的聲音才從聽筒那頭傳來,帶著睡眠被打斷的沙啞。

  「陳寅?現在幾——你知道幾點嗎?」

  「兩點四十。克萊恩先生,您上次說麥考密克教授要見我,是因為我在課堂上解過一道量子加密題。」

  「對。」克萊恩聲音里的睡意在迅速消退,作為一個好老師對學生的關注正在取代被打斷的睡眠,「是一道斯坦福和MIT聯合發布的難題,你在白板上——」

  「那道題是誰擬的?」陳寅打斷了他。

  聽筒那頭沉默了。

  沉默持續的時間很短,也許只有兩秒,但那兩秒里陳寅聽到了一個細節——克萊恩按在手機話筒上的拇指微微滑了一下,發出一聲極細的摩擦聲,像一根琴弦被輕輕撥動。

  「麥考密克教授。他親自擬的。還有你為什麼會問——」

  「麥考密克教授認識維克多·卡拉漢嗎?」

  窗外的風忽然大了起來,把院子裡那棵檸檬樹的枝條拍在窗玻璃上,發出密集而尖銳的聲響。

  「……認識。十二年前,他們一起在波士頓——」

  陳寅沒讓他說完:

  「卡拉漢在舊金山港有一條船,『聖米格爾之星』。

  有人在這條船上往波士頓運『活體樣本』。本周五,我和麥考密克的會面——」

  他頓了頓,壓低聲音。

  羅德尼停下了操作,阿德里安手裡的打火機停在半空,野間惠攥著杯子,連呼吸都像被凍結了。

  「他如果真那麼想見我——讓他先告訴我,把『斯巴達人』的程序掛在十二年前的這篇量子模擬論文上,是誰的建議。」

  電話掛斷了,廚房裡只剩下冰箱壓縮機低速運轉的嗡嗡聲和窗外檸檬樹持續拍打玻璃的聲音。

  野間惠是第一個打破沉默的人。

  她把熱可可杯放回桌上,站起來,看著陳寅。

  「我不懂槍。也不懂物理。我爸說『關掉斯巴達人的鑰匙不是密碼,是人』。

  這句話他跟我說過兩次。第一次是在車禍前一個月,他從波士頓回來之後;

  第二次是在他走的前一天晚上。他從來不跟我說工作上的事,但這句話他說了兩遍。」

  「所以你來加州是因為——」

  「他很害怕。我爸那幾天總覺得有人在他住所外面蹲守。

  他說——『他們怕的不是我,是怕我告訴你們』。可我不知道『你們』是誰。」

  她看著陳寅,那雙發紅的眼睛沒有迴避他的目光:

  「我不知道你們的計劃。我也不需要知道。我只做一件事:

  我爸遺囑里有加密文件,密鑰由我倒背如流。

  我願意把它拿出來。只要你能讓我親眼看到卡拉漢被抓。」

  她說完這些話,沒有坐下,只是站在那兒,雙手搭在身前,像一個站在甲板上準備迎接風浪的人。

  雨聲順著門縫灌進來,敲在她腳邊的水泥地上,啪啪作響。

  陳寅轉過身看向窗外。雨終於停了,港口方向的天空裂開了一道極細的橙色縫隙。他把車門拉開,手機收進口袋裡。

  「港口。三十七號泊位。『聖米格爾之星』的裝箱時間是今晚,十一點。阿德里安,你去通知鐵錘,讓他的人在碼頭外圍盯著海關巡檢,隨時通報。

  肖恩,把車開到三十七號閘口後面的貨櫃堆放區。羅德尼——留在據點,繼續解析那根內存條,如果那組密文能再往下脫兩層殼,不管什麼時候,立刻打給我。」

  他把那台燒焦的筆記本合上,推回德雷克面前。

  然後他看著野間惠。凌晨的光線從窗玻璃上經過的時候還帶著濕氣,落在這個女孩的臉上,把她眼眶周圍細密的血絲照得清清楚楚。

  「野間,」他說,「你爸留給你的那份加密文件,密鑰你倒背如流。我需要你現在就去找羅德尼,把密鑰給他。

  如果我們能在今晚之前打開那份文件,也許你不只是在加州看一眼卡拉漢被抓。你能親手把他釘在牆上。」

  野間惠抬起手,用手背擦了一下眼角快掉下來的東西,然後從大衣內袋掏出一個銀色U盤,遞給羅德尼。

  她的手指沒有再發抖,那隻拿著U盤的手在黎明前的昏暗裡微微發光。

  「我跟你一起。」她說,「Babel項目的設計組從一開始就包括麥考密克教授的量子模擬。我爸說過,這套加密算法的弱點不在算法本身。弱點在——」

  「在寫算法的人。」陳寅替她說完了。

  她點了點頭。

  現在,他站在三十七號碼頭的陰影里,把那把格洛克19從褲兜里抽出來,檢查了一下彈匣。

  滿裝,十七發。備匣三個,全部塞在衛衣內側的胸掛織帶上。

  手套是羅德尼用庫存防彈纖維改的那副,掌指關節處貼有一層密織陶瓷纖維。

  他活動了一下手指,陶瓷纖維在關節處發出細微的摩擦聲,像砂紙輕輕划過金屬表面。

  碼頭上的霧越來越濃了。

  「聖米格爾之星」的甲板上亮著幾盞昏黃的燈,燈光在霧裡變成一團一團模糊的光暈,像是被水泡發的月亮。

  貨櫃吊機已經停了,吊臂懸在半空中,在風裡微微晃動。

  碼頭上的人走得差不多了,只剩下幾個穿反光背心的工人聚在閘口旁邊抽菸,菸頭的紅點在霧中一明一暗,像某種緩慢的、無聲的信號。

  陳寅從貨櫃堆放區側身穿過去。這些貨櫃壘了四層高,正好形成一條狹窄的走廊,地面是碎石和油污,走上去發出細微的沙沙聲。

  他在走廊盡頭停下來,側身靠在一個印著「COSCO」字樣的藍色貨櫃上,朝船的方向看去。

  兩個人,一個靠在舷梯上,穿著深灰色工裝,腰間別著對講機;

  另一個站在船舷邊,手裡端著一把雷明頓870霰彈槍,槍口朝下,但手指沒有離開扳機護圈。

  兩個人的站姿都是標準的安保站位——背靠光源,視線覆蓋正前方一百二十度,互相能看到對方的側臉。

  陳寅在心裡給他們編號:一號,舷梯。二號,船舷。

  他退後一步,把身子完全縮進貨櫃走廊的陰影里,蹲下來,用手指在地上畫了一張潦草的示意圖——船尾、舷梯、貨艙入口、兩個哨位,以及他自己的位置。

  然後他掏出手機,用屏幕最低亮度給阿德里安打了一行字。

  「兩個人,一個在舷梯,一個在船舷。雷明頓870。有對講機。讓肖恩在三號閘口待命,鐵錘的人在港口外面。」

  阿德里安的回覆幾乎是瞬間到的:「收到。鐵錘說他的人在港口外已經布好,海關巡檢剛過,下一次是兩個小時以後。」

  陳寅把手機收起來,他還有兩個小時。

  他沿著貨櫃走廊繼續往前,走得很輕,每一步落地之前都會用腳尖先試一下腳下——碎石、油污、還是干水泥。

  他的呼吸始終平穩,心率沒有超出靜息心率五跳以上。但他自己的意識很清楚,這種平靜不是天然的,是某種更深層的東西在起作用。

  他的大腦正在用一種自己都無法控制的方式,把周圍環境的每一處細節都拉進一個精密的三維坐標網——風速、距離、光線角度、目標的體重和重心。

  他走到貨櫃走廊的盡頭,蹲下來,拉下衛衣胸口的織帶,抽出那把格洛克19,卸下消音器在掌心裡轉了兩圈。

  他等了十秒,確認風正在往船尾方向吹,然後起身。

  舷梯上的那個人最先看到的是一個從霧裡忽然浮現的黑影。

  他還沒來得及開口,一道巨大的力量已經擊中他的側頸。

  不是拳頭,是陳寅的掌側,精準地切在頸動脈竇上。

  那個人眼前一黑,身體像斷了線的木偶一樣癱下去,陳寅用一隻胳膊勾住他的胸口,把他無聲地放在舷梯下的陰影里。

  船舷上的人在聽到異響的瞬間抬起了霰彈槍,但槍口只能轉六十度——那邊是他的同伴固定的方向。

  他往舷梯那邊邁出一步,然後看到同伴歪倒在梯下。

  第二步還沒邁出去,一個巨大的衝擊力已經正中他的後背,將他整個人砸在鋼鐵甲板上。雷明頓還抓在手裡,但沒有再次抬起來。

  陳寅把霰彈槍從他手裡掰出來,卸掉彈倉放在角落裡,然後把兩個人拖進貨艙入口後面的維修通道。

  他用扎帶把他們的手腕和腳腕捆在一起,又用他們自己的工裝布條堵住嘴巴。

  做完這一切,他站在甲板上順著夜風的方向聽了幾秒。

  沒有無線電呼叫,沒有腳步聲,貨艙深處傳出的只有乾冰機恆定的嗡鳴和冷凍壓縮機間歇性起停的咔嗒聲。船還在沉睡。

  貨艙入口是一扇巨大的防水鋼門,門沒有鎖,只是虛掩著,門縫裡透出冰冷的白光。

  他側身滑進去,門在他身後無聲地合上。

  貨艙內部比船的外觀看上去大得多。

  挑高至少有十米,頭頂的工業射燈把整個空間照得通亮,貨架上壘著層層疊疊的冷鏈貨櫃,箱體上全貼著不同年份、不同顏色的國際生物安全標籤。

  空氣里瀰漫著一股乾燥而僵硬的冷意,還有一絲若有若無的化學氣味——苯酚、或者福馬林,陳寅辨認不出。

  他加快腳步,在貨架之間穿行。貨架上的貨櫃編號從H-001一直排到H-127,都是標準的赫爾曼港口服務公司序列號。

  但當陳寅走到編號H-124的貨櫃面前時,他停了下來。

  標籤紙不在它該在的位置,粘膠邊緣輕微翹起,顏色比其他標籤新了不止一個年份。

  他把標籤揭開一角。底下露出舊標籤,標籤編號不是H打頭。是B-013。

  B——Babel項目儲備。

  貨艙深處的冷氣機忽然發出一聲更大的噪音。他抬腳往下走去,腳步聲在貨架之間迴蕩成持續的金屬共鳴。

  貨櫃貨架總共有四層,每一層都貼著各個機構的研究標籤——東京大學、波士頓卡拉漢研究所、奧可多生物科技以及幾個陳寅從未見過的縮寫:

  G.C.,N.L.,VECTOR-3。這些編號的順序初看毫無規律,但當他向後退出幾步看向整面貨架時,它們在他的視野里自動拼接——每一排貨架對應一個項目,每一個項目對應一串不斷上跳的序列號。

  這裡不只是堆放貨物的倉庫。這是一個試驗品的檔案室。

  他站在第四排貨架盡頭,面對一整個三層高的箱組。箱體上貼著的標籤全部印有同一個前綴——「Babel」。

  當他走近最下層一個收件信息已被刮掉的箱體時,標籤上有一行用鉛筆手寫的日文小字引起了他的注意。

  「もう終わりたい」——我想結束了。

  他把箱子從貨架上拉出來。沒有鎖,直接掀開。

  裡面沒有標本。沒有冷凍血漿,沒有動物胚胎,沒有任何陳寅預想過的東西。

  只有紙——成堆的快件信封、活頁夾、醫院手環、貼有兒童照片的信息表、護照複印件和邊檢離境記錄。

  每一張紙的邊角都有不同顏色、不同文字的鉛筆標註,絕大多數是日語。

  他拿起最上面一封信。信紙是泛黃的,摺痕很深,字跡是用鉛筆寫的,已經有些模糊。

  「……他說他在找人。不是找樣本,是找一個十七年前離開的項目。那個項目編號是『Babel-Zero』。」

  一張快件回執夾在信紙內側。回執單末尾是一個手寫簽名——「野間誠一」。

  外面忽然傳來腳步聲。

  陳寅把所有東西全部裝進背包,側身靠在貨架的陰影里,在槍口指向艙門的同一刻,腳步聲突然停住,隨即迅速往船尾方向退去。

  他心裡默默數了十秒,走到艙門邊,拉開門。舷梯上沒有人。霧終於散了,舊金山港的夜空露出一小片冷白色的星光。他穿過碼頭,穿過貨櫃堆放區,翻過防波堤,落在堤外那片廢棄的碎石灘上。

  然後他拿出手機,撥號。

  「阿德里安,來接我。我有東西要給你們看。」


章節目錄