第一話 甲碼與乙碼
牆上的鐘指著三點十四分。實際是三點十二分。
情報處大樓地下二層的譯電室裡,這個鐘永遠快兩分鐘,快了十一年,沒有人去撥它。有人說是當年裝鐘的工人手抖,有人說是第一任處長故意的,要譯電員永遠覺得自己慢了一步。白甫知道真正的原因:鐘的發條盒裡卡了一粒灰,走得不準,每天快出十幾秒,每週一早上值班的人會撥回去,撥回去的時候又習慣性地多撥兩分鐘。十一年,就這麼快了下來。
他知道這件事,是因為他拆過那個鐘。那是他入處第二年,一個沒有電報的冬夜。
譯電室有十二張木桌,排成三行,每張桌上一盞綠色燈罩的檯燈。此刻只亮著三盞。燈罩把光壓成一圈一圈,暖黃的,落在桌面上,燈圈外面就是地下室水泥牆那種冷冰冰的灰。房間最裡面,一台電報機轟轟地響著待機的低鳴,偶爾噠地跳一下,像一個睡著了的人在夢裡抽了一下腿。空氣裡是煙灰缸裡冷掉的煙蒂味,還有舊紙張、機油和地下室永遠散不掉的潮氣。
白甫坐在第二行正中那張桌子前。
他坐著總是往前傾,兩隻手肘壓在桌面上,壓得很實,好像桌上隨時會有一封電報要飛走,他得先把它按住。他三十四歲,瘦長,手指也長,長得像是專門為了捏住一支鉛筆而生的。臉是窄長的,白,白得不太正常——他一年裡見太陽的時間加起來不到一個月,兩頰微微往裡凹。黑髮梳成中分,抹了油,一絲不苟,只有額前一撮總是垂下來,垂到那副圓形鋼框眼鏡的上緣。
他穿一套灰色三件頭西裝,穿了六年,手肘處磨得發亮。背心口袋裡插著四支削好的鉛筆,一字排開,筆尖朝上,旁邊是一把摺疊小刀。白襯衫的袖口套著一副黑色防墨袖套,套到手肘。
他在看一本亂數本的校對清單。這是夜班最無聊的工作,也是他最喜歡的工作。一頁一百組數字,每組五位,他用鉛筆尾端一行一行點過去,點一下,嘴唇無聲地動一下。
譯電室裡還有兩個人。
收報員老秦坐在電報機旁邊,戴著耳機,頭一點一點地往下垂,每垂到一半又猛地抬起來。實習生柴岳趴在最後一行的桌子上,臉枕著手臂,睡得很沉,口水把袖子洇濕了一小塊。柴岳二十一歲,入處才三個月,還沒有資格碰碼本,夜班只負責抄收和送稿。
第三行最靠牆那張桌子是黑的。
燈沒開。桌面收拾得乾乾淨淨,只剩一盒薄荷糖,鐵皮的,蓋子上印著一片褪了色的綠葉子,擺在桌子正中。那是郝蘭生的桌子。
門口的告示板上用圖釘釘著一張紙條,是處長秘書的字:「郝蘭生,病假,歸期另行通知。」昨天下午釘上去的。
白甫看了那盒薄荷糖一眼,又低頭看他的校對清單。郝蘭生三十年來請過兩次病假,一次是闌尾炎,一次是他太太走的那年冬天。這一次沒有人說是什麼病。
三點二十一分,鐘上是三點二十三分。電報機的低鳴忽然變了調子。
噠。噠噠。噠——噠。
老秦的頭一下子抬起來,手已經按在了收報鍵上。這是本能,他幹了二十年,睡著的時候耳朵也是醒的。他一手按著耳機,一手抓起鉛筆,開始在收報紙上寫。電報機的節奏越來越快,噠噠噠噠,像一場急雨打在鐵皮屋頂上。淡黃色的紙帶從機器的出口吐出來,一截一截,捲在地上。
白甫把校對清單合上。他沒有站起來,只是把身子往前又傾了一點,手肘壓得更實,眼睛看著老秦的手。
老秦寫數字的速度比電報機慢半拍,他寫得很用力,每寫完一組就用鉛筆尖在紙上點一下,點完再寫下一組。白甫從他手腕擺動的幅度數組數。一組,兩組,三組……
電報機停了。
「二十一組。」白甫說。他的聲音輕、平、快,說出來像在唸電碼。
老秦摘下耳機,回頭看了他一眼,又低頭數了一遍自己的收報紙。「二十一組。」他說,「第四軍團,鐵橋轉報站。特急。」
特急。白甫站起來,走過去。
他從老秦手上接過收報紙。紙是薄的,半透明,燈光透過來,能看見紙背的纖維。第一行是報頭:發報台代號、收報台代號、日期、時間、等級,最後是一組指標組。第二行開始是正文,四碼一組,二十一組,排成四行半。
指標組是:0473。
白甫看著那四個數字,嘴唇動了一下。指標組告訴他這封電報用的是哪一本亂數本的哪一頁哪一行。04是第四冊,73是第七十三頁。
「柴岳。」他說。
最後一行那個趴著的人沒有動。
「柴岳。」白甫沒有提高聲音,只是把名字又說了一遍,一樣輕、一樣平,「起來,把這封登記。三點二十一分收,特急,二十一組,第四軍團。」
柴岳一下子坐直了,臉上壓出一道袖子的紅印,眼睛還沒睜開,手已經摸到了登記簿。
白甫回到自己的桌子前,把收報紙鋪平,用兩個鐵鎮紙壓住兩角。他從桌下的抽屜裡取出第四冊亂數本,翻到第七十三頁。然後他從背心口袋裡抽出第一支鉛筆,在收報紙的每一組數字下面,抄上對應的亂數。
譯電的第一步是減。
電報上每一組數字,都是明文的碼號加上一組亂數得來的。加的時候不進位,減的時候不借位——這叫模十運算,每一位單獨算,七減九等於八,三減五等於八,零減四等於六。一封二十一組的電報,要做八十四次減法。熟練的譯電員三分鐘可以減完。
白甫用了兩分十秒。
他的鉛筆劃過薄紙,發出沙沙的聲音,一行數字寫完,他把眼鏡往上推一下,再寫下一行。四行半,推了五次眼鏡。
減出來的,是二十一組碼號。
第二步是查碼本。
甲種密本鎖在他左手邊的鐵櫃裡。鐵櫃是綠色的,漆掉了好幾塊,露出底下的鐵鏽。他用掛在背心內袋的鑰匙打開櫃門,取出一本厚厚的黑皮本子,封面上燙著一個褪了金的「甲」字。甲種密本是索卡共和國陸軍現行的主力碼本,一共九千九百九十九個碼號,每個碼號對應一個字、一個詞,或者一個固定的短語。0001是「一」,0002是「二」,一直到9999,是「報畢」。
他翻開本子,一組一組查下去。
第一組碼號,3719。他翻到三十七頁,手指順著第十九行往右滑。敵。
第二組,2280。軍。
第三組,6614。增援。
第四組,1105。兩。
第五組,4403。師。
他查一個,寫一個,在收報紙的最下面一行,用極小的字寫出明文。嘴唇跟著動,無聲地唸。查完一行,把眼鏡推一下。
敵軍增援兩個師,已抵鐵橋。
我第四軍團傷亡過半,彈藥告罄,無力固守灰鴉嶺。
請准全線撤退至索河西岸。
候覆。
二十一組,一個字不多,一個字不少。
白甫把鉛筆放下,看著那幾行字,看了一會兒。
灰鴉嶺。他知道灰鴉嶺。它在地圖上是索河東岸的一片丘陵,最高點海拔三百一十米,山頂上有一座廢棄的石頭燈塔,據說很多年前河上還走船的時候,燈塔是給船夫看的。第四軍團在灰鴉嶺守了四十一天。四十一天來,每天至少有三封電報從鐵橋轉報站發過來,他譯過其中一大半。傷亡數字,彈藥數字,天氣,敵軍炮火的方位和密度。他記得每一個數字,就像記得碼本上的每一個碼號。
四十一天的電報連起來看,這一封是對的。它是這串數字的下一個數字。傷亡在增加,彈藥在減少,瓦蘭軍的炮火一天比一天近——撤退是遲早的事。
他應該把它謄清,交給值班參謀,由值班參謀送上樓,送進總參謀部。總參謀部會在天亮以前覆電:准,或者不准。
他拿起一張空白的呈報紙。
然後他停住了。
他沒有把明文謄上去,而是從背心口袋裡抽出第二支鉛筆,用鉛筆尾端輕輕敲了敲自己的門牙。嗒,嗒,嗒。
這是一個壞習慣,他知道。他的門牙因為這個習慣,邊緣已經有了一道細細的磨痕。郝蘭生說過他好幾次:「白甫,你再敲下去,將來老了,牙就像鋸子一樣,吃麵包都吃不斷。」說完就從口袋裡掏出那盒薄荷糖,在桌角敲一敲,打開,推過來。「吃一顆。嘴裡有東西,手就不會去找牙。」
他沒有停止敲。
每封電報都有背面。
這也是郝蘭生說的。
那是八年前,白甫入處的第三年。那時候他還坐在第一行,郝蘭生坐在他後面。有一天夜班,一封電報也沒有,郝蘭生把他叫到自己桌邊,讓他看一樣東西。
白甫記得那天郝蘭生穿著那件棕色粗花呢外套,裡面是一件黃色毛背心,背心的鈕扣被圓滾滾的肚子繃得緊緊的,好像隨時會彈出去一顆。他領口的領結是歪的,一直都是歪的,白甫從來沒見過他正過。他的頭頂已經全禿了,兩側剩下一圈灰白的捲髮,在綠燈罩底下閃著一層細細的光。他的臉圓,紅潤,雙下巴,鼻翼旁邊有一粒肉痣。他看人的時候眼睛總是笑瞇瞇的,小小的,像是有什麼秘密要跟你分,又還沒決定要不要分。
他叼著煙斗,沒有點。
「你看這組。」郝蘭生用煙斗柄點著桌上一張紙。煙斗柄是黑色的,被他的牙咬出一圈淺淺的齒痕。
紙上是一封很舊的電報,二十幾組,已經譯好了,明文寫在下面,是一封普通的補給報告:麵粉多少袋,靴子多少雙。
「譯得對嗎?」
白甫看了一遍,點頭。「對。」
「用乙碼再譯一遍。」
白甫看著他。乙種密本是備用碼本,只在甲碼洩密或者疑似洩密的時候才啟用,平時鎖在處長辦公室的保險櫃裡,只有三個人有鑰匙:處長、夜班主任、還有郝蘭生——因為乙碼是他編的。甲碼也是他編的。
郝蘭生從外套內袋裡掏出一個牛皮紙夾子,裡面夾著一疊手抄的紙。「這是乙碼的前一千號。」他說,「我自己抄的。別告訴處長。」
白甫用那一千號,把那封補給報告重新譯了一遍。
譯出來的是一首詩。
四句,二十八個字,寫的是冬天的河,河上的燈塔,燈塔上一個等船的女人。字字通順,平仄都對。
他抬起頭,郝蘭生的整張臉都笑得擠成了一團,雙下巴疊成三層,笑聲短促,哈,哈,像兩聲咳嗽。
「這是我給我太太的。」郝蘭生說,「那年我在前線,她在後方,信件要審查,寫什麼都不方便。我就用補給報告寫。審查官看見的是麵粉和靴子,她看見的是詩。」
「她有乙碼?」
「她有這一千號。」郝蘭生說,「我編碼本的時候,在甲碼和乙碼之間留了一道縫。有些碼號,在甲碼裡是一個意思,在乙碼裡是另一個意思,兩個意思在句子裡的位置一樣,詞性一樣,長短一樣。我把這些碼號配成對,寫在一張表上。有了那張表,一封電報可以同時說兩件事。」他把煙斗放下,壓低了聲音,「我管它叫雙碼。全處只有我知道。現在多了一個你。」
「為什麼告訴我?」
郝蘭生笑瞇瞇地看著他,看了很久。然後他敲了敲薄荷糖盒,打開,推過來。
「因為你是這一處唯一一個,」他說,「譯完一封電報,還會再看一眼的人。」
那天晚上,郝蘭生教了他那張表。白甫花了一年,把表背了下來。之後的八年裡,他每譯完一封重要的電報,都會在心裡用乙碼再過一遍。一千多封,一次都沒有譯出過通順的東西。每一封都只是亂碼,詞不接詞,句不成句,像一個人在夢裡說話。
一千多次。
他知道這是一種迷信。郝蘭生自己都說,這張表他這輩子只用過一次,就是寫那首詩。可是白甫還是每次都譯。這是習慣,就像每譯完一行就推一次眼鏡。
鐘上是三點三十一分。實際是三點二十九分。
白甫站起來,走到牆邊的鐵櫃前。鐵櫃最下層有一個小抽屜,裝的是夜班主任的鑰匙串。他是這個月的夜班主任。他取出鑰匙串,挑出一把細長的黃銅鑰匙,走出譯電室,穿過走廊,走到處長辦公室門口。
走廊的燈只開了一半,他的影子在水泥地上拉得很長。處長辦公室的門鎖著,他用另一把鑰匙打開,沒有開燈,借著走廊的光摸到牆角的保險櫃。轉盤轉三圈,左,右,左。咔噠。
乙種密本比甲種薄一點,封面是深藍色的,燙著一個銀色的「乙」字。
他把本子抱在胸前,走回譯電室,在登記簿上寫下:三點三十四分,夜班主任白甫,取乙種密本,核對用。
柴岳在旁邊看著,張了張嘴。
「核對。」白甫說,「你去睡。」
柴岳沒有去睡。他坐回最後一行的桌子前,臉朝著這邊,眼睛一眨一眨的。
白甫坐下,把乙種密本翻開,放在甲種密本旁邊。兩本本子並排攤在綠色燈罩的光圈裡,一黑一藍。
減法不用重做。碼號就是碼號,二十一組,已經寫在收報紙最下面。他只要換一本碼本查。
第一組,3719。
他翻到乙碼的三十七頁,手指順著第十九行滑過去。
敵。
他的手指停了一下。
在甲碼裡,3719是「敵」。在乙碼裡,3719也是「敵」。這不奇怪,兩本碼本的前幾千號裡,有一小部分常用字是重疊的,這是郝蘭生故意的,為了在緊急換碼的時候,譯電員不至於連「敵」「我」都要重新記。
第二組,2280。軍。也是重疊。
第三組,6614。
他翻頁。紙頁很薄,他的手指捏著紙邊,沒有抖,但是翻過去的時候,紙發出了很響的一聲嘩啦,在安靜的譯電室裡,響得像有人撕了什麼東西。
6614,在乙碼裡是:主力。
敵軍主力。
他把這兩個字寫在收報紙的空白處,寫得很小。然後他把眼鏡推高,推得太用力,鏡框撞在眉骨上,有點痛。
第四組,1105。在甲碼裡是「兩」。在乙碼裡是:已。
第五組,4403。在甲碼裡是「師」。在乙碼裡是:南調。
敵軍主力已南調。
他的嘴唇動著,動得比平時快。他查一組,寫一組,不再停下來看。鉛筆劃過紙面,沙沙,沙沙,像有什麼東西在紙底下爬。
第六組,在甲碼裡是「已抵」,在乙碼裡是:鐵橋。
第七組,在甲碼裡是「鐵橋」,在乙碼裡是:守敵空虛。
第八組、第九組,「我」、「第四軍團」,兩本一樣。
第十組,在甲碼裡是「傷亡過半」,在乙碼裡是:休整完畢。
第十一組,在甲碼裡是「彈藥告罄」,在乙碼裡是:彈藥足敷。
他的鉛筆芯斷了。
啪的一聲,很輕。斷下來的那一小截筆芯彈在收報紙上,滾了兩圈,停在「足敷」兩個字旁邊。
白甫看著那截筆芯。他不記得自己用了那麼大的力氣。他把斷掉的鉛筆放下,從背心口袋裡抽出第三支,繼續寫。
第十二組到第十七組。無力,擬於。固守,黎明。灰鴉嶺,全線。請准,進攻。全線,奪回。撤退,鐵橋。
第十八組、第十九組。至,請即。索河西岸,覆准。
第二十組,候覆。
第二十一組,9999。在兩本碼本裡,9999都是「報畢」。
他放下鉛筆,把收報紙拿起來,舉到燈下。
最下面一行,是甲碼的明文,他剛才寫的,字很小,很整齊:
敵軍增援兩個師,已抵鐵橋。我第四軍團傷亡過半,彈藥告罄,無力固守灰鴉嶺。請准全線撤退至索河西岸。候覆。
在它的上面,在收報紙的空白處,擠著另一段明文,字也很小,也很整齊,只是鉛筆的顏色深一點,因為換了一支新削的鉛筆:
敵軍主力已南調,鐵橋守敵空虛。我第四軍團休整完畢,彈藥足敷,擬於黎明全線進攻,奪回鐵橋。請即覆准。候覆。
他一個字一個字地看。
通順。每一句都通順。語法對,用詞對,連前線電報那種特有的短促節奏都對——第四軍團的報務參謀寫電報,喜歡把「候覆」單獨放在最後,喜歡用「全線」這個詞,喜歡在請求前面多加一個字——請准、請即,從不只寫一個光禿禿的「請」。兩段明文裡,這些習慣全都在。
不是亂碼。不是巧合。
他在心裡算了一遍。二十一組碼號,每一組在兩本碼本裡同時落在一個合乎語法、合乎語意、合乎前後文的詞上,其中至少有九組在兩本本子裡意思完全不同。如果是隨機的,這件事發生的機率,大概和他把一副撲克牌往天上一扔,落下來五十二張全部按花色排好一樣。
有人造了這封電報。
有人坐在某個地方,手邊有一張表,一組一組地挑碼號,挑出一封能同時說兩件事的電報。
白甫發現自己在心裡倒背字母表。
最後一個字母。倒數第二個。倒數第三個。
他沒有停,一直背到第一個字母,然後重新從最後一個開始。他的手放在桌面上,手肘壓得很實,壓得桌腳在水泥地上輕輕刮了一下。
「白老師?」柴岳在後面叫他,聲音有點抖,「是不是……譯錯了?」
「沒有。」白甫說。
他沒有回頭。他盯著收報紙上的兩段明文。
一段說撤退。一段說進攻。
一段說敵人來了兩個師,一段說敵人的主力走了。
兩段都不可能同時是真的。
如果撤退是真的,而總參謀部收到的是進攻——總參謀部會覆准,第四軍團會在黎明時分,用傷亡過半、彈藥告罄的兵,去衝剛剛來了兩個新師的鐵橋。灰鴉嶺到鐵橋之間那片開闊的河灘,他在地圖上見過,一千二百米寬,沒有任何遮蔽。
如果進攻是真的,而總參謀部收到的是撤退——總參謀部會覆准撤退,第四軍團會放棄灰鴉嶺,放棄四十一天守下來的每一寸土,就在敵人主力剛剛離開、山頭空虛的那個早上。索河西岸的第二道防線還沒挖好,瓦蘭軍的主力如果回頭,會一路推到首都外圍的鐵路樞紐。
兩套都會死人。
他看了一眼牆上的鐘。三點五十八分。實際是三點五十六分。
今天的日出時間是六點零七分。黎明,按照陸軍的慣例,是日出前半小時。五點三十七分。
一小時四十一分鐘。
白甫把兩張紙擺在一起,一左一右。他拿起第四支鉛筆,用尾端輕輕敲著門牙。嗒,嗒,嗒。
問題不是哪一套是真的。
問題是,誰需要一封同時說兩件事的電報?
如果發報的人想讓總參謀部收到撤退,他用甲碼寫撤退就夠了。如果他想讓總參謀部收到進攻,用甲碼寫進攻就夠了。他不需要雙碼。他要雙碼,只有一個理由:他知道這封電報會被譯兩次。他知道譯電室裡有人會用乙碼再看一眼。
他知道白甫在這裡。
白甫的手停住了。鉛筆尾端停在門牙前面半寸,停在半空。
他想起郝蘭生那句話:因為你是這一處唯一一個,譯完一封電報,還會再看一眼的人。
他轉過頭,看了一眼第三行最靠牆那張黑著燈的桌子。那盒薄荷糖還在桌面正中,鐵皮蓋子上那片褪色的綠葉子,在隔壁檯燈的餘光裡泛著一點點微弱的反光。
病假,歸期另行通知。
電報機又噠了一下。只是一下,是待機的雜音,不是來電。老秦抬頭看了看,又低下頭去。
白甫站起來。
他沒有想好要做什麼。他只是覺得自己應該站起來。他站在桌邊,兩張收報紙在他手邊,兩本密本一黑一藍攤在燈圈裡,四支鉛筆,一支斷了芯,三支還尖著,整整齊齊地排在桌沿上。
他聽見了腳步聲。
不是走廊裡的。是樓梯上的。譯電室在地下二層,唯一的出入口是一道鐵樓梯,從地下一層的警衛室盤旋下來,每一級踏板都是鑄鐵的,鞋底落上去會發出一聲空空的回響。
這個時間,不會有人下來。
腳步聲很穩,很慢,一級一級,是高跟皮靴的鞋跟敲在鑄鐵上的聲音,嗒,嗒,嗒,每一下之間隔的時間一模一樣。
柴岳在後面站了起來,椅子腿刮在水泥地上,發出刺耳的一聲。老秦把耳機摘下來,掛在脖子上。
譯電室的門開了。
門口站著一個女人。她很高,很瘦,站得筆直,像一根插在地上的標尺,兩手背在身後。一身深墨綠色的軍裝式套裝,扣子一直扣到領口,領口別著一枚銀質的情報處徽章,在門口的燈下亮了一下。黑髮緊緊盤在腦後,一根不亂,只插著一支黑色的髮簪。
葉緹,情報處處長。
白甫在情報處十年,從來沒有在夜裡見過她下樓。
她沒有看老秦,沒有看柴岳。她的目光從門口掃進來,掃過十二張桌子、三盞亮著的燈、一盞黑著的燈,然後落在白甫的桌面上。她看東西的樣子像在看一份文件,從上到下,從左到右,一行不漏。那雙深灰色的眼睛在那一黑一藍兩本密本上停了一下,在並排的兩張收報紙上又停了一下。
然後她才抬起眼睛,看白甫。
白甫看的是她的嘴唇。他習慣看人的嘴唇,不習慣看人的臉。那兩片薄唇塗著暗紅色,唇角兩道細紋,抿得很緊。
她走進來,靴跟敲在水泥地上,一聲一聲,走到他的桌前停下。她把背在身後的手拿到前面來。兩隻手都戴著黑色的薄皮手套。她用右手的手套,在左手掌心輕輕拍了一下。
她開口了。聲音低沉,冷靜,很慢。
「白甫,」她說,「這封電報,你譯出了幾個意思?」
牆上的鐘走到四點零二分。
實際是四點整。
