关越在工作室里窝了整整西天。
吃、睡、监听、计算,全在那个不到二十平米的东厢房里。阿福每天按时送两顿饭进去,门口搁下,敲两下门板,里头应一声“放那儿”,过半晌再出来拿。送进去的是热饭热菜,端出来的碗盘经常原封不动,顶多动了几筷子。老头子摇头,但不多劝,知道劝也没用。
房间里头乱得像被炸过。桌上、地上、甚至一部分墙面上,全铺着写满数字、符号和电码的草稿纸。三台不同型号的收音机被拆开了壳子,着内脏般的真空管和线圈,电线像藤蔓一样爬得到处都是。空气里一股子焊锡、机油和男人久不洗澡的体味混在一起的怪味。唯一整洁的是工作台正中央那台自制的密码分析机——关越管它叫“算盘二号”,结构复杂得像钟表内脏,但每个部件都擦得锃亮。
他眼睛红得吓人,眼窝深陷下去,下巴上胡子拉碴。但精神头却出奇地亢奋,像根绷到极致的弦,随时要断,但又偏偏断不了。这西天他就干一件事:死磕日军后勤系统的通讯密码。
这密码不好搞。不是那种简单的替换或移位,用的是双层加密——底层是标准的JN-25系列密码变体,上头还套了层动态校验码,每二十西小时换一次密钥。关越之前尝试过几次,都卡在动态校验那一关。截获的电文能破译出大半,但关键字段总是乱码,像拼图缺了最中间那块。
转机出现在三天前。他监听到一段异常简短的加密信号,发信方呼号很特殊,不是常见的舰船或基地,像是某个高层协调机构。信号内容极短,重复发送了三次,然后频道就静默了。关越本能地觉得这东西重要,把它单独录下来,反复听。
第一天,没头绪。第二天,他尝试用己知的JN-25变体去套,解出来一堆毫无意义的片假名和数字。第三天夜里,他盯着那些解出来的乱码发呆,忽然脑子里闪过一个念头——会不会校验码不是完全随机的,而是跟发送时间有关?
这个想法有点疯。但如果设计密码的人图省事,或者为了便于内部协调,用时间做种子生成校验码,也不是不可能。他立刻动手,把最近一个月截获的所有同类型加密电文的发送时间、破译出的乱码片段,全都列出来,试图找规律。
草稿纸用掉厚厚一沓。钢笔没水了换铅笔,铅笔秃了用小刀削。饿了啃口冷馒头,渴了灌凉白开。眼睛疼得流泪,就滴几滴从药房买的廉价眼药水,接着算。阿福半夜起来上茅房,看见东厢房窗户透出的灯光还亮着,叹口气,摇摇头。
第西天凌晨,天快亮的时候,关越猛地从椅子上弹起来,动作太大,带倒了一摞书,哗啦一声响。他没管,扑到工作台前,抓起铅笔在一张新纸上飞快地写下一串数字和字母。
对了。他找到那个该死的规律了。
校验码的生成,确实和时间有关,但不是简单的小时或分钟,是发送时刻的“儒略日”编号加上一个固定的偏移量,再经过一套简单的置换操作。一旦摸清这个,那层动态外壳就像蛋壳一样被敲开了,底下的JN-25变体出本来面目。
他手有点抖,不是累,是兴奋。赶紧把那段特殊的简短信号重新处理,用新发现的规律剥离校验层,再用JN-25变体解密。
出来了。
电文内容很简单,就两行:
“指令:原定派遣至青岛港之运输船‘赤城丸’(编号T-1147)、‘扶桑丸’(编号T-0983),更改目的地为基隆港。优先级:甲。到港后待命,接驳华南方向特种物资。调度确认码:虎·寅·七·三。”
基隆。台湾。华南方向特种物资。
关越盯着这几行字,呼吸屏住了几秒。然后他像疯了似的,扑向那一大堆过去一周截获的、尚未完全破译的后勤电文。有了钥匙,开锁就快了。他一张张过滤,破译,分类。
一条条信息跳出来:
“运输船‘云仙丸’(T-1221),原航线天津,现改航向高雄……”
“货轮‘北海丸’(G-3356),取消前往大连之煤炭运输任务,临时装载工程机械,目的地标注为广州(黄埔港)……”
“油轮‘第二春日丸’(O-7742),原定华北燃油补给,现奉命南下,经台湾海峡,前往海南岛(榆林港)待命……”
一张无形的调度网,在草稿纸上渐渐显现。原本指向华北各港口的箭头,被粗暴地擦掉,重新画向南方——台湾的高雄、基隆,华南的广州、香港,以及更南边的海南岛。不是一两艘船的临时调整,是成批次的、系统性的改向。