地下室里只有一盏煤油灯,灯芯被捻得很短,火苗只够照亮桌子中间那一小块区域。
光晕边缘,三个人的脸都隐在半明半暗里。
沈前锋把影印件摊开在桌上,纸页边缘还能看出匆忙裁剪的痕迹。密码本下半册,每一页都是密密麻麻的数字组和对应的日文假名,但关键的前半部分——那些可能指向加密算法核心的索引和说明页——是缺失的。
“军统那边原件已经送南京了。”黄英先开口,她今天穿了件深灰色旗袍,外面罩着黑色针织开衫,看起来像个普通女教员,但腰间微微鼓起,“我能拿出来的就这些。上面催得紧,给你们三天时间,三天后原件必须送往重庆。”
潘丽娟坐在对面,左臂还用绷带吊在胸前。她没看黄英,目光落在影印件上:“三天?这本子上至少有两百组密码,就算有完整的加密表,要推导出规律也需要时间。何况现在只有半本。”
“那是你们的问题。”黄英语气平静,“我冒风险把影印件带出来,已经是违规。军统的规矩你们清楚,密码相关的东西,多留一天都是隐患。”
沈前锋没参与她们的对话。他正在调试系统界面,【密码逻辑分析仪】的初级界面悬浮在意识里,是半透明的淡蓝色光幕。这东西比他预想的要简陋得多,更像是一个复杂的电子算盘加上几个分析模板。
界面上有几个输入框:
【请输入密文样本(至少200组)】
【请输入对应明文样本(可选)】
【请输入特定语境参数】
【请输入目标语言习惯权重】
下面还有一行小字提示:“本设备可提供频率分析、模式匹配及概率计算辅助,核心算法需操作者自行推导。”
说白了,就是能帮忙算得快一点,但怎么算、算什么,还是得靠人脑。
“黄组长。”沈前锋终于抬起头,“军统截获的‘紫电’密电,你能提供多少?”
黄英看了他一眼:“你想干什么?”
“分析需要样本。”沈前锋敲了敲桌上的影印件,“光有这个不够。加密密码不是死的,它会根据日期、部队番号、甚至发报员的习惯做微调。艘嗖小税网 蕞鑫漳结更欣哙我需要最近实际使用的密电,越多越好。”
“不可能。”黄英直接拒绝,“密电是最高机密,每一份都要登记造册。我能拿到影印件已经是极限。”
煤油灯的火苗晃了一下。
潘丽娟忽然开口:“我们有。”
黄英和沈前锋同时看向她。
“组织上个月开始就在重点监听华中日军通讯。”潘丽娟说得很慢,每个字都斟酌过,“虽然没能破译,但截获了至少三百份密电码。我们可以共享。”
黄英眯起眼睛:“条件?”
“破译后的成果,我们要第一时间拿到。”潘丽娟说,“不是影印件,是完整的破译方法和密钥。”
“这不合规矩。”
“那就没得谈。”潘丽娟作势要起身,但因为左臂受伤,动作有些迟缓,“你们军统自己破译去。不过提醒一句,日军‘春季清乡’最晚下个月就会开始,到时候遭殃的是谁,黄组长心里清楚。”
空气凝固了几秒。
沈前锋能听到地下室外面隐约传来的声音——应该是老陈在上面修理铺里敲打什么金属件,声音规律而沉闷。这处据点是陈默堂叔提供的,说是废弃教堂地下室,实际上已经改造成了小型储藏间,入口藏在忏悔室地板下,还算安全。
但安全是暂时的。松井既然已经追到上海,又公开发了请柬,说明日军的搜查网正在收紧。他们三个人能同时离开各自活动区域,在这里碰面,本身就是风险。
“一百五十份。”黄英忽然说,“我只能提供一百五十份密电样本,而且不能带原件,只能是我手抄的密文码。没有上下文,没有收发方信息,只有数字组。”
“成交。”潘丽娟重新坐稳。
沈前锋在心里快速计算。一百五十份加上潘丽娟那边的三百份,四百五十组密文样本,应该够启动分析了。但问题是,没有明文对照,所有推导都只能靠猜测和试错。
“还有一件事。”他看向两人,“密码本内页有涂抹痕迹。”
他从怀里掏出一个放大镜——系统商店里用积分兑换的小玩意儿,倍数不高但够用。把放大镜递给潘丽娟,指了指影印件上的一页:“这里,页码底部。还有这里,边缘。”
潘丽娟凑近看。黄英也侧过身。
在放大镜下,那些细微的痕迹变得明显:不是污渍,而是用某种溶剂刻意擦除后留下的纸张纤维损伤。被擦掉的是什么?可能是注释,可能是批注,也可能是某种标记。
“松井故意的。”黄英低声说,“他猜到密码本可能失窃,所以留了残缺的版本。就算我们拿到,没有上半册,再加上这些涂抹,破译难度翻倍。”
“也可能不是他。”沈前锋收回放大镜,“密码本本身就有保护机制。重要密码不会完整记录在一处,这是常识。”
他调出系统分析界面,尝试将一页影印件的内容拍照导入——这是分析仪的基础功能,可以通过图像识别把印刷体数字转换成可计算的数据。
进度条缓慢移动。
煤油灯的火苗又晃了一下,这次是因为地下室入口处传来的轻微气流。三个人同时噤声,手都按在了各自的武器上。
等了十几秒,没有后续动静。
应该是老陈在上面开门。
“时间不多了。”沈前锋压低声音,“我需要你们两方提供的情报,越详细越好。第一,日军参谋部的文书习惯——他们写战报时常用哪些固定句式?日期、部队番号、地名的表达有没有特殊格式?”
潘丽娟点头:“这个我们可以整理。我们在南京和武汉都有内线,接触过日军作战文书。”
“第二,发报员个人习惯。”沈前锋转向黄英,“同一个发报员敲电键会有独特的节奏,就像笔迹一样。军统应该有这样的档案。”
黄英沉默了两秒:“有是有,但‘紫电’是华中派遣军刚启用的新密码,我们还没能锁定具体发报员。”
“那就从已知的发报员习惯反推。”沈前锋在桌子上用手指虚画,“比如,有些发报员喜欢在每段结束加多余的空格,有些会把特定数字敲得特别重。这些细微差别在密文里会体现为特定数字组的出现频率异常。”
黄英若有所思地看着他:“你从哪学的这些?”
“南洋。”沈前锋面不改色,“做生意的时候接触过电报业务,有些洋人工程师喜欢研究这个。”
这个解释很牵强,但眼下没人深究。
“第三。”沈前锋竖起三根手指,“我需要一个安全的地方工作。这里不行,太潮湿,纸张容易受潮,而且进出不便。”
“去我那里。”潘丽娟说,“我们在法租界有安全屋,是顶楼带阁楼的公寓,视野好,有三条撤离路线。”
“不行。”黄英立刻反对,“法租界最近在严查,巡捕房收了日本人的钱。要去就去公共租界,英国人地盘,日本人暂时还不敢太放肆。”
“公共租界更危险,满街都是情报贩子。”
“法租界——”
“两位。”沈前锋打断她们的争论,“地方我来选。”
两个女人都看向他。
“闸北,老陈的修理铺。”沈前锋说,“那里看起来最不像能藏人的地方。而且陈默已经改装了阁楼,加了隔音层和暗格。最重要的是,松井不会想到我会待在一个修理铺里。”
潘丽娟和黄英对视一眼,这次都没反对。
“怎么传递情报?”潘丽娟问。
“通过阿祥的报童网络。”沈前锋已经想好了,“他在上海也建了线,十几个孩子,每天送报传信,不起眼。你们把资料交给指定的报童,他会送到修理铺。”
“安全吗?”
“比成年人安全。”
煤油灯里的油快烧完了,火苗开始变小,地下室的光线更加昏暗。沈前锋看了眼系统界面,图像识别已经完成,第一页密码本的数字组被转换成了一列列整齐的数据,在淡蓝色光幕上滚动。
分析仪给出了第一个提示:
【检测到数字组“3579”在样本中出现频率异常,疑似为固定填充码或分段标记。建议优先分析该数字组与上下文关系。】
“还有问题吗?”沈前锋问。
潘丽娟摇头。
黄英想了想:“松井的宴会,你打算怎么应对?”
“赴约。”沈前锋说,“但我会准备一份‘礼物’给他。”
“什么礼物?”
“到时候你们就知道了。”
煤油灯终于灭了。
黑暗瞬间吞没地下室,只有系统界面在意识里散发着微弱的蓝光。三个人在黑暗里静静地坐着,谁也没动,听着彼此的呼吸声。
过了大概半分钟,沈前锋摸出火柴,重新点亮了一盏备用油灯。
“散了吧。”他说,“按计划进行。”
潘丽娟先起身,动作依然有些不便。她走到地下室角落,推开一块活动的墙砖,后面是只能容一人通过的窄道。这是第二条撤离路线,通向隔壁空置店铺的地下室。
她没有回头,消失在黑暗里。
黄英多坐了几秒。
“沈前锋。”她忽然叫他的名字,而不是“沈先生”,“松井不是甬城那个松井了。在上海,他能动用的资源更多,手段也更没有底线。宴会上如果情况不对——”
“我会处理。”
“我是说,”黄英站起来,旗袍下摆轻轻摆动,“如果真到了万不得已,亮出我给的那个身份。军统上海站特别顾问,至少能保你活着离开日占区。”
沈前锋看向她:“那个身份不是已经作废了吗?”
“我重新激活了。”黄英说完这句话,转身走向另一个方向的出口,那是通往教堂后院的暗道。
脚步声渐渐远去。
地下室里只剩下沈前锋一个人。他盯着桌上那叠影印件,在系统界面上调出刚刚完成识别的数据,手指在虚空中快速操作,开始建立第一个分析模型。
数字组“3579”
它在密码本里出现了七次,每次都在页面的固定位置。不是页码,不是行号,而是嵌入在密码表中的特定位置。
填充码?还是某种校验标记?
沈前锋从怀里掏出笔记本——这是他在系统商店兑换的,纸张特殊,用特定药水写字,平时看不见,需要用另一种药水显影。他记下“3579”和出现的位置坐标,然后开始手动计算这些位置之间的数学关系。
煤油灯静静地燃烧。
修理铺里传来的敲击声已经停了,取而代之的是老陈哼唱的小调,是江南一带的民谣,调子悠长而苍凉。
沈前锋停下笔,揉了揉眉心。
四百五十组密文样本,残缺的密码本,还有七十二小时的倒计时——虽然系统任务时间暂停了,但“春季清乡”不会等。他必须赶在日军行动之前,把这份密码撕开一道口子。
窗外传来淅淅沥沥的声音。
上海下雨了。