窗外的天色从深黑转为墨蓝。
地下室墙壁上的挂钟指针走向凌晨四点,桌上摊开的电文纸已经堆起半尺高。沈前锋捏了捏鼻梁,视线里那些数字和片假名开始出现重影。
系统界面悬浮在视野右上方,【密码逻辑分析仪】的进度条缓慢爬升,目前停在37。旁边多了一个红色小图标在不断闪烁——那是【精神负荷警告】。连续七十二小时高强度推导,即使有系统辅助,对大脑的消耗也是实打实的。
“第三十七组对应样本。”
潘丽娟的声音从长桌对面传来。她面前摊着从各方搜集来的日军日常文书——作战日志的片段、物资清单的抄本、甚至是从日军军营垃圾里翻出来的信件草稿。她的任务是找出日军参谋人员的用词习惯和缩写规律。
沈前锋接过她递来的纸条,上面工整地写着:“‘甲号作战地域’在非加密文件中出现时,有80的概率简写为‘甲地’;‘弹药基数’的‘基数’一词,在电文中从未出现过完整写法,都是用一个特定数字代替。”
“有用。”沈前锋将这些参数输入系统。。杯水车薪,但至少是在前进。
地下室的铁门发出轻微的响动。黄英端着一个托盘进来,上面放着三杯咖啡和一碟干面包。她换了身深蓝色的便装,头发简单地扎在脑后,眼下的阴影不比另外两人浅。
“巡捕房的人刚换岗,外面安全。”她把咖啡放在桌上,自己那杯没加糖也没加奶,黑得像是油墨,“军统那边又截获三条疑似用紫电加密的电文,译电组完全看不懂。总部一天催三次。”
沈前锋端起咖啡喝了一口,苦涩的液体让他精神稍振:“电文内容?”
“都是短码,最长的一条不超过十五个字符。时间分别是昨天上午十点、下午三点、还有晚上九点整。”黄英坐了下来,从怀里掏出一张纸,“我让人做了信号强度三角定位,发射源大概率在虹口日本海军陆战队司令部范围内。
“固定时间发报”沈前锋盯着系统界面,“可能是测试信号,或者是在建立新的通讯规程。”
“也可能是诱饵。”潘丽娟抬起头,左臂的伤让她动作有些僵硬,“松井知道我们在找密码本,故意放出一些无关紧要的电文,消耗我们的精力。”
黄英看了她一眼,没反驳。这三天下来,三人之间形成了一种微妙的工作默契——只谈情报,不谈立场。
沈前锋把新电文输入系统。分析仪开始运行,屏幕上瀑布般流过着数字组合。他闭上眼睛,试图在脑海中构建那些日军参谋可能使用的逻辑框架。
紫电密码不是完全创新的体系。根据那半本密码册和已经破译的零星内容来看,它是在日本陆军原有的“九七式”密码基础上,增加了两层变种:一是替换表每六小时轮换一次,二是引入了基于当天日期和天气的代换算法。
日期和天气。
沈前锋突然睁开眼:“我们需要最近十天虹口地区的详细天气记录。”
“天气?”黄英皱眉。
“密码本第七页的注释栏里,有一个词被涂抹掉了,但能看到‘气象’两个字的偏旁。”沈前锋调出系统拍摄的高清图片,放大那个区域,“如果加密算法的参数里包含天气因素,那么同样的明文在不同天气下,加密出来的密文会不同。”
潘丽娟立刻起身,走到墙边的档案柜前翻找。几分钟后,她抽出一份文件:“《申报》的气象栏目抄录,从本月一号到昨天。”
三人围到桌边。
沈前锋将已知的几条电文解密尝试与对应日期的天气对照。三月五号,阴天,截获的电文以数字“34”开头;三月八号,小雨,电文开头是“71”;昨天,晴,黄英刚拿来的电文开头是“09”。
“不是直接对应。”黄英说。
“需要换算。”沈前锋抓过一张空白纸,开始列算式。系统分析仪同步计算,屏幕上数字飞快滚动。
地下室陷入沉默,只有钢笔在纸上的沙沙声,和偶尔的键盘敲击声——那是黄英在用军统带来的小型打字机记录中间结果。
窗外的墨蓝色渐渐褪去,泛起灰白。
沈前锋写满了第三张纸时,突然停了下来。他盯着自己刚写下的一个公式,瞳孔微微收缩。
“怎么了?”潘丽娟注意到他的异常。
“这个参数”沈前锋的声音有些干涩,“如果天气参数的算法是我推导的这样,那么今天凌晨应该有一次密钥轮换。但根据我们监听的信号,虹口司令部在凌晨两点并没有发报。”
“可能轮换时间改了。”黄英说。
“不。”沈前锋放下笔,揉了揉太阳穴,“如果改了,我们之前破译的那几条零星信息就对不上。唯一的解释是”
他话没说完,突然感到鼻腔一热。
下意识伸手去捂,温热粘稠的液体已经顺着指缝流了出来。滴在草稿纸上,在数字间晕开暗红色的圆点。
“你流鼻血了。”潘丽娟立刻起身。
沈前锋仰起头,另一只手去摸口袋,手帕不在身上。潘丽娟已经递过来一块干净的布帕,同时快步走到墙角的水盆边,拧了条湿毛巾。
“可能是太累了。”黄英也站了起来,但没靠近,“我去弄点凉水。”
“不用。”沈前锋接过布帕按住鼻子,湿毛巾敷在后颈。冰凉的感觉让他稍微清醒了些,但太阳穴的胀痛没有缓解。
系统界面上,【精神负荷警告】的图标闪烁得更急了,旁边多了一行小字:【连续推导超过安全阈值,建议休息】。这不是系统第一次警告,但之前只是头痛,这次直接见血了。
潘丽娟站在他身侧,手指轻轻搭在他按着毛巾的手腕上,测了测脉搏。“跳得很快。你必须休息。”
“还差一点”沈前锋想站起来,却感到一阵眩晕。
“坐下。”潘丽娟的手按在他肩上,力道不大,但不容拒绝。她转头看向黄英,“有温水吗?”
黄英看着这一幕,站在原地没动。她的目光在潘丽娟放在沈前锋肩上的手停留了一秒,然后转身走向角落的炉子:“有。”
炉子上的铁壶里还有半壶温水。黄英倒了一杯,走回来放在沈前锋面前。她的动作很稳,但放下杯子时,陶瓷杯底与木桌碰撞发出略重的声响。
“谢谢。”沈前锋说。鼻血似乎止住了,但喉咙里还有血腥味。
潘丽娟收回手,重新坐回自己的位置。但她没继续看文件,而是看着沈前锋:“你刚才说到一半——唯一的解释是什么?”
沈前锋喝了口水,缓了缓才说:“唯一的解释是,紫电密码的密钥轮换,不是基于固定时间,而是基于一个变量。这个变量可能就是天气,但不止是天气。”
他重新拿起笔,在没被血染污的纸角写下几个字:“气压,温度,湿度这些数据组合起来,可能构成一个动态的轮换触发器。”
“所以我们需要气象站的完整数据,不只是晴雨。”黄英理解了,“包括每小时的气压变化。”
“对。”沈前锋点头,但动作一大,又感到一阵眩晕。
潘丽娟站起来:“今天就到这里。你需要至少睡四个小时。”
“可是”
“没有可是。”潘丽娟的语气是沈前锋从未听过的强硬,“如果你倒下了,所有的推导都会中断。现在去睡。”
沈前锋看了看系统界面,进度条停在42。距离任务截止还有不到二十小时,但他确实感到大脑像一团浸了水的棉絮,无法思考。
“楼上有个小隔间,以前是守夜人睡的。”黄英突然开口,声音平淡,“还算干净。”
潘丽娟看向她,点点头:“我带他去。”
沈前锋想说自己能走,但站起来时脚下确实有些飘。潘丽娟扶住他的手臂,不是完全的搀扶,更像是以防万一的支撑。
黄英站在原地,看着两人走向地下室的铁门。她的手指无意识地敲击着桌面,一下,两下,然后突然停下。
“潘小姐。”她叫了一声。
潘丽娟在门口回头。
黄英的视线落在沈前锋脸上,停顿片刻,然后移开:“让他睡醒后,把气压数据的换算公式写出来。军统这边我会去弄气象站的详细记录。”
这句话说得很官方,像是在交代任务。
潘丽娟点点头,没说什么,推开了铁门。
楼梯很窄,只容一人通过。沈前锋走在前面,潘丽娟跟在后面,手里拿着煤油灯。昏黄的光圈在墙壁上晃动,照出剥落的墙皮和年代久远的霉斑。
二楼的小隔间确实很小,只放得下一张窄床和一个木凳。床上铺着干净的粗布床单,虽然简陋,但至少没有灰尘。
“睡吧。”潘丽娟把灯放在凳子上,“我两小时后叫你。”
沈前锋坐下,床板发出吱呀声。他看着潘丽娟转身要离开,突然开口:“刚才谢谢。”
潘丽娟在门口停下,侧过脸。煤油灯的光在她脸颊轮廓上镀了一层柔和的边,让那些平日里的锐利线条显得温和了些。
“你也在拼命,不是吗?”她轻声说,“为了破译那个密码。”
沈前锋沉默了几秒:“我只是在做该做的事。”
“每个人都觉得自己在做该做的事。”潘丽娟的手搭在门框上,指节微微用力,“但有的人做着做着就忘了初衷,有的人流血了也不停。”
她说完这句话,轻轻带上了门。
脚步声沿着楼梯向下,逐渐消失。
沈前锋躺在窄床上,盯着天花板上蛛网状的裂缝。系统的警告图标还在闪烁,但他暂时关闭了界面。黑暗和寂静涌上来,带着潮水般的疲惫。
他闭上眼睛前,最后一个模糊的念头是:潘丽娟那句话,究竟是在说他,还是在说她自己?
抑或是,在说那个此刻还在地下室,独自面对一堆密码文件的黄英?
没有答案。
只有窗外渐亮的天光,从木板的缝隙里渗进来,在地板上划出一道极细的、苍白的光痕。