阁楼的空气里有股淡淡的血腥味和酒精味,混杂着窗外飘进来的煤烟气息。
沈前锋坐在那张用木箱搭成的简易工作台前,台面上摊着黄英派人送来的半册密码本影印件。纸张质量很差,有些字迹模糊不清,但内页上那些细微的涂抹痕迹,在台灯下却显得格外刺眼。
潘丽娟靠在对面的小床上,左臂缠着绷带。麻药效果还没完全过去,她的脸色有些苍白,但眼睛很亮,一直看着沈前锋的背影。
“你确定不睡会儿?”沈前锋没回头,声音有些疲惫。
“睡不着。”潘丽娟轻轻动了下受伤的手臂,眉头微皱,“那半本东西,有用吗?”
沈前锋没有立刻回答。
他盯着影印件第三十七页右下角那处涂抹。不是随意涂黑,而是用某种化学药剂处理过,纸张纤维都变了色。松井做事向来谨慎,如果是他授意销毁的部分,应该会直接撕掉或者整页烧毁。留下这种半遮半掩的痕迹,更像是
标记。
或者是测试。
“现在还说不准。”沈前锋最终说道,手指在那处涂抹上轻轻敲了敲,“得先搞清楚这些被抹掉的是什么。”
话音落下的瞬间,视野边缘的系统界面突然闪烁起来。
那行【获得关键线索】的状态提示变成了淡金色,然后缓缓消散。取而代之的,是一个全新的界面窗口在意识中展开——
【密码逻辑分析仪(初级)已解锁】
窗口样式很简洁,像老式机械计算机的操作面板。左侧是密文输入区,右侧是明文输出区,中间有个巨大的旋钮图标,下面标注着“逻辑算法强度”。旋钮现在停在最左侧的“1”档,后面还有从2到10的刻度,但2到10都是灰色的,无法选择。
面板底部有两行醒目的红色提示:
【需录入参数:日军特定用语习惯(未获取)】
沈前锋盯着那个旋钮看了几秒,尝试在意识中转动它。旋钮微微动了一下,又弹回原位。系统给出第二条提示:【样本不足,算法强度无法提升。当前强度仅提供基础字符频率分析。
果然。
系统从来不会给真正意义上的“外挂”。这东西更像是一个强化版的算盘,能帮你算得更快更准,但算盘珠子还得自己一颗颗拨。
“怎么了?”潘丽娟察觉到他的沉默。
沈前锋转过身,从工作台下抽出一块用废铁皮打磨成的板子,大概一尺见方。他从抽屉里找出炭笔,在铁皮板上快速画出示意图。
“我可能需要你帮忙。”他说。
潘丽娟撑着坐起来,走到工作台边。铁皮板上画着一个简单的框状结构,里面标注着“输入”“计算”“输出”的字样,还有些她看不懂的符号。
“这是”
“一种计算工具。”沈前锋用炭笔敲了敲“输入”区,“但我需要往里面填东西。至少两百组已经破译的电文,密文和明文都要。越多越好。”
潘丽娟看着那个数字,沉默了两秒。
“两百组?”
“最少。”沈前锋说,“而且不能是随便的电文。最好是同一时期、同一加密级别、最好是同一个人或同一小组起草的。这样用词习惯和句式结构才有规律可循。”
“那半本密码本不够?”
“远远不够。”沈前锋拿起影印件,翻到被涂抹的那几页,“这册子最多只能算字典,告诉你某个密码符号对应哪个假名或者汉字。但真正的军用密码会有层层嵌套——替换、移位、乱序,可能还会掺入当天的日期、天气甚至发报员编号作为变量。没有大量实际案例反推,光有字典破译不了新电文。”
阁楼里安静下来。
窗外传来有轨电车驶过的哐当声,还有远处黄浦江上轮船的汽笛。上海的声音和甬城不一样,这里更密集,更杂乱,像无数条线缠在一起。
“组织那边,”潘丽娟终于开口,“应该能提供一部分。去年徐州会战前后,我们通过内线截获过一批日军师团级电文,破译了三十多组。”
“三十组不够。”
“军统那边呢?”潘丽娟看向他,“黄英今天送影印件来,说明她也急着破译。军统的电讯监听能力比我们强,截获量应该更大。微趣小税 嶵歆蟑踕哽鑫筷”
沈前锋没说话。
黄英确实可能提供更多样本。但问题是,军统提供的电文,他怎么确定是真的?万一里面掺了假样本,故意误导推导方向
“你信不过她?”潘丽娟看穿他的顾虑。
“我信不过任何人。”沈前锋放下炭笔,“尤其是这种时候。松井在上海,军统内部有叛徒,我们刚拿到半本密码本就差点全军覆没。每一步都可能是陷阱。”
潘丽娟低头看着自己受伤的手臂。
绷带下面,子弹擦过的伤口还在隐隐作痛。今天牺牲的两个同志,一个叫老徐,家里有怀孕的妻子;另一个才十九岁,代号“小山雀”,最喜欢在任务间隙哼小调。
!“陷阱也得踩。”她抬起头,声音很轻,但很稳,“春季清乡计划如果实施,浙东根据地至少要转移上万群众。来不及慢慢试探。”
沈前锋看着她。
台灯的光在她脸上投下浅浅的阴影,让那些疲惫的线条显得更加清晰。但她眼睛里的光没变,那种近乎固执的坚定,和第一次在甬城药铺后院对峙时一模一样。
“样本的事我来想办法。”沈前锋最终说,“但你得帮我另一件事。”
“你说。”
“日军特定用语习惯。”他指向铁皮板上那个“参数”标注,“不是日常用语,是参谋文书、作战命令里特有的表达方式。比如他们怎么标注时间,怎么描述坐标,进攻、撤退、待机这些命令的固定句式是什么。越详细越好。”
潘丽娟思考了几秒。
“内线可以接触到一些非加密的日常文书。但要拿到参谋本部级别的标准范文,可能需要时间。”
“多久?”
“三天。”她说,“最迟三天。”
沈前锋在心里计算。系统给出的七十二小时倒计时,从接到任务开始算,现在已经过去了大约十八个小时。还剩五十四小时。
三天就是七十二小时。
时间卡得刚刚好——如果一切顺利的话。
“好。”他点头,“三天。”
潘丽娟重新坐回床边,忽然问:“你今天在通风管道外面,是怎么知道我们正好在里面的?”
问题来得有些突然。
沈前锋正在整理工作台上的影印件,手指顿了一下。微型振动传感器的事不能说,那是系统兑换的装备,这个时代根本不存在。
“猜的。”他继续整理纸张,没有抬头,“你们两边都约了不同时间,但按黄英的性格,她一定会提前踩点。你也会。我让阿祥的小报童盯着,下午就收到有两批人出现的消息。晚上看情报处后门只有两个哨兵,推测你们已经进去了。”
解释很合理。
但潘丽娟没说话,只是静静看着他。
阁楼里只剩下纸张翻动的沙沙声。过了好一会儿,她才轻声说:“你今天开枪了。”
用的是陈述句。
沈前锋终于抬起头。
“我看到了弹道。”潘丽娟继续说,“从对面楼顶射过来,角度很刁。第一枪打中追我的那个军曹的右肩,让他没法举枪。第二枪打穿另一个的膝盖。都是非致命部位,但刚好解围。”
她停顿了一下。
“那种距离,那种光线,用加装消音器的枪这不是猜能猜出来的。”
沈前锋放下手里的东西。
两个人隔着三米距离对视。台灯的光在中间划出一道模糊的界线,一边是堆满纸张和工具的工作台,一边是简陋的铁架床。
“有些事,”沈前锋慢慢说,“知道了对你没好处。”
“我已经在局里了。”潘丽娟说,“从甬城开始,每一次任务,你的情报都比我们准,装备都比我们怪。今天那支枪,我从来没听过那种声音——像撕布,但比撕布还轻。打完之后,楼顶根本没有惊动任何人。”
她往前倾了倾身,受伤的手臂因为这个动作微微发抖,但她没在意。
“老徐和小山雀死了。我带着他们进去的,就得带着他们出来的规矩,今天我破了。”她的声音有些发紧,“所以至少告诉我,我们到底在用什么战斗?或者说,你在用什么战斗?”
问题悬在半空。
沈前锋看了眼系统界面。那个新解锁的密码分析仪还开着,冰冷的机械面板倒映在他意识的深处。再往下,是储物空间的入口,里面还有四十七支特种弩箭,三把不同口径的消音手枪,两架待组装的微型无人机,以及一堆这个时代不该出现的医疗用品和电子零件。
他不能说。
不是不想,是不能。系统的禁制条款在激活第一天就写得很清楚:任何试图直接透露系统存在的言行,都会触发强制静默——不是惩罚他,是惩罚听到的人。轻则记忆混淆,重则脑部损伤。
“有些武器,”他选择着用词,“来自很远的地方。远到你无法想象。它们能帮我们打赢几场战斗,但赢不了战争。真正能结束这一切的,不是武器。”
“是什么?”
“是人。”沈前锋看着她的眼睛,“是像老徐、小山雀那样的人,是像你这样的人。是成千上万觉得不该这样活着的人。”
潘丽娟沉默了。
窗外的汽笛声又响了一次,这次更近,像是货轮正在靠岸。夜风吹进阁楼,带着江水的腥味和远处霓虹灯模糊的光晕。
“三天后我给你用语习惯。”她最终说,躺回床上,面朝墙壁,“我睡了。”
沈前锋关掉台灯。
阁楼陷入黑暗,只有窗外偶尔划过的车灯在天花板上投下转瞬即逝的光斑。他在黑暗里坐了很长时间,听着潘丽娟逐渐平稳的呼吸声,手指无意识地敲着工作台的边缘。
一下,两下,三下。
像在敲莫尔斯码,又像只是打发时间。
系统界面在黑暗中泛着微光,那个【0/200】的样本计数像某种倒计时,提醒他时间正在一分一秒流逝。松井的晚宴在明天晚上,密码破译的时限在五十四小时后,而黄英那边
他想起今天塞还窃听器时,茶叶罐里那张自己手写的便条。上面只有两个字:
【谢了】
便条现在应该已经送到松井手里。那个老狐狸会怎么解读?是挑衅?是示好?还是某种更复杂的信号?
沈前锋不知道。
他只知道,在上海这片更大、更复杂的棋盘上,棋子已经摆开。而他的手里,除了那个不算外挂的外挂,就只剩下胸口这道从甬城带到上海的伤疤,还有身后床上那个受伤但依然倔强的女人。
黑暗里,他轻轻呼出一口气。
然后打开系统,开始录入那半本密码本上能看清的所有字符对应表。一个字,一个符号,像是用最笨的方法,在茫茫迷雾里划下第一道线。
窗外的上海,依旧灯火通明。