修理铺阁楼里弥漫着机油和旧木头的味道。
沈前锋刚把最后一把零件组装成简易的无线电监听装置——用老陈库存的老式收音机改的,性能勉强能覆盖短波频段。他擦了把额头的汗,窗外上海滩的霓虹灯把夜空染成暗红色。
系统界面就在这时毫无征兆地弹了出来。
不是平时的淡蓝色半透明窗口,而是刺目的猩红色边框,占据了整个视野中央。
【紧急任务发布】
文字像是用血写成的,还在微微跳动。
沈前锋手上的动作停了。来上海这三天,系统一直很安静,安静得让他几乎以为这个跟着穿越而来的东西也会水土不服。现在它醒了,用最激烈的方式。
【任务内容:日军华中派遣军司令部于今日18时47分启用‘紫电’新型加密系统。首条测试电文已截获(附件:密文记录)。任务要求:七十二小时内获得‘紫电’密码本原件,或获取足以推导加密规则的关键线索】
【任务等级:甲等】
【成功奖励:密码逻辑分析仪(初级)※注:本设备需配合人力计算与参数输入,非自动破译工具】
【倒计时:71:59:47】
数字一秒一秒往下跳。
随便剥掉哪个,都可能要命。
他深吸一口气,点开附件。
密文记录像瀑布一样刷出来,全是四位一组的数字:
3491 5826 7103 9462 1857
密密麻麻,整整八十组。
沈前锋摸出钢笔和笔记本,随手抄下前面二十组。数字本身看不出规律,没有明显的重复,间隔也毫无节奏感。不是简单的替换密码,至少不是单表替换。
他尝试用凯撒密码的思维去套,前两组3491和5826,差值2335,没有意义。频率分析需要更多样本,八十组不够。
窗外的电车铃声远远传来。
沈前锋关了系统界面,但那个血红色的倒计时还在视野右上角悬浮着,像一道擦不掉的伤疤。71小时58分12秒。三天,确切说不到三天。
他从空间里取出一台微型电台——这是系统升到二级时解锁的通讯设备,功率小,但加密方式超越时代。本来打算用来和甬城那边保持联系,现在看来得先干别的了。
老陈的修理铺在闸北宝山路,这一带鱼龙混杂,日占区、公共租界、华界的边缘地带。好处是不显眼,坏处是什么人都有。阁楼窗户对着窄巷,对面是家当铺,二楼窗户永远拉着帘子。
沈前锋把电台调到特定频段,开始收报。
耳机里只有电流的白噪音。他耐心等了十分钟,终于捕捉到一丝规律的滴答声。很微弱,像是从很远的地方发出来的。他用笔记录下莫尔斯电码,解码出来是一串数字:2304。
这是他和潘丽娟约定的每日安全信号。2304代表“安全,无新情报”。
他关掉电台,重新打开系统界面,盯着那八十组数字。
紫电。
这名字取得挺唬人。日军在战争中期确实研发了几种新型密码,但“紫电”这个名字在史料里没出现过。可能是这个时空的特产,也可能是某个已知密码的变体。
他需要更多信息。
从空间取出那台改装过的收音机,调到几个已知的日军通讯频率。大多数频道都在播放军乐或者日语新闻,关于“大东亚共荣”的陈词滥调。其中一个频率有规律的背景噪音,像是载波信号,但没有语音。
倒计时跳到71:47:33。
时间在走。
沈前锋从笔记本里撕下一页,开始画关系图。上海的情报来源有几个:潘丽娟的地下党网络,黄英的军统线,老陈这种灰色地带的手艺人,还有阿祥那批孩子——阿祥留在甬城继续经营“报童网”,但上海这边沈前锋已经让老陈物色了几个机灵的小子,还没正式启用。
哪条线最可能接触到密码本?
日军华中派遣军司令部在什么地方?南京?不对,现在是1938年,南京已经沦陷,派遣军司令部可能在武汉前线,也可能就在上海。虹口那边有日本海军特别陆战队司令部,陆军的情报部门
他笔尖顿住。
松井。
那个从甬城追到上海的特高课课长。松井的权限能接触到“紫电”吗?不好说。特高课主要对内维稳和反间谍,军队的通讯密码按理说不归他们管。但松井这个人,手伸得很长。
!那张请柬还在抽屉里,明天晚上的“文物鉴赏宴”。
倒计时在眼角余光里跳动,71:42:11。
沈前锋从空间取出一小瓶提神剂——系统出品的功能饮料,味道像铁锈,但能顶八个小时不困。他拧开瓶盖喝了一口,苦涩的液体滑过喉咙,脑子确实清醒了些。
他开始第二遍分析密文。
这次他不再看数字本身,而是注意分组方式。四位一组,总共八十组,三百二十个数字。数字范围从0到9,没有字母。典型的数字密码。
日军的密码体系,早期多用简单的书本密码或者棋盘密码。但到1938年,应该已经开始使用机械密码机了。日本有名的“紫色密码机”是外交用的,军队系统
等等。
沈前锋突然坐直身体。
紫电。紫色。
是巧合吗?还是说这个“紫电”和历史上的“紫色密码”有渊源?紫色密码(purple)是美国给日本外交密码起的代号,日本自己叫它“97式打字机”。那东西1937年就开始用了,但主要在外务省系统。
军队会不会有类似的变种?
他快速在笔记本上写下几个关键词:转子、插线板、步进机制。如果是仿紫色密码机的原理,那破译难度就大了。需要知道转子排列顺序、插线板连接方式、还有每天的初始设置。
没有密码本,三天时间想都别想。
倒计时71:33:45。
窗外传来吆喝声,是卖夜宵的馄饨担子。沈前锋看了眼怀表,晚上十点二十。这个时间,潘丽娟应该已经收到他傍晚通过死信箱传递的见面请求了。明天上午十点,法租界辣斐德路的曙光书店。
黄英那边,得用另一个方式联系。
他从空间取出那枚特制的银元——中间是空心的,可以塞进小纸条。纸条上写了时间和地点:明日下午三点,公共租界南京路先施公司钟表部。
两个见面,都是为了一件事:紫电。
但他不能直接说要密码本。得换个说法,比如“日军有新动向,需要确认通讯内容”,或者“截获可疑电文,需要专业分析”。
沈前锋揉了揉太阳穴。
提神剂开始起作用了,心跳有点快,思维却异常清晰。他把八十组密文又看了一遍,这次尝试用不同的进制转换。二进制?十六进制?都不对。
最后他决定做个简单的统计。
把0到9每个数字出现的次数列出来:
0: 31次
1:28次
2:33次
3:29次
4:35次
5:27次
6:32次
7:30次
8:34次
9:31次
分布太均匀了。
如果是简单的替换密码,字母频率会有明显特征。数字分布这么均匀,说明要么是多表替换,要么是机械加密的结果。
机械加密。
沈前锋在笔记本上画了个简易的密码机结构图。三个转子,每个转子有26个触点——不对,这是恩尼格玛机的结构。日军的密码机可能不一样。
他需要实物,或者至少需要图纸。
倒计时跳到71:15:09。
深夜了。巷子里的馄饨担子也收摊了,只有远处黄浦江上轮船的汽笛声偶尔传来。上海这座不夜城,在战争阴影下依然保持着病态的繁华。
沈前锋关掉台灯,在黑暗里点了一支烟。
烟头的红光在黑暗中明灭。他很少抽烟,但这时候需要点东西让手有事做。系统界面上的倒计时在黑暗中也依然清晰,血红色的数字,一秒一秒,不紧不慢地夺走时间。
七十二小时。
他吐出一口烟雾。
明天见潘丽娟,后天见黄英,大后天晚上赴松井的宴。时间卡得死死的,每一步都不能出错。而这一切的前提是,那两个人愿意帮忙,且有能力帮忙。
烟烧到指尖。
沈前锋掐灭烟头,重新打开台灯。他从空间取出一沓空白卡片,开始把八十组密文一组一组抄上去。抄完一张,就翻过来,在背面写上可能的分析方向。
第二十七张卡片背面,他写下:“疑为多轮加密,首轮为固定替换,次轮为转子位移。”
第三十九张卡片背面:“数字0-9可能对应日文五十音图的某10行分组?”
第五十六张卡片背面:“测试电文内容可能为固定短语,如‘测试’、‘天气’、‘一切正常’。”
倒计时走到70:52:41。
天快亮了。
沈前锋把所有卡片摊在床上,像玩拼图一样试图找出某种排列规律。没有。至少肉眼看不出来。
他躺回床上,盯着天花板。
阁楼的天花板很低,木板上有深色的水渍痕迹,像一张模糊的地图。系统界面悬浮在上方,血红的倒计时像心脏一样搏动。
70:48:33。
还有两天零二十二个小时。
他闭上眼睛,脑子里还是那些数字,在黑暗中旋转、组合、拆解。3491、5826、7103、9462
不知过了多久,远处传来鸡鸣。
天亮了。
沈前锋睁开眼,倒计时显示70:12:07。他睡了不到四十分钟,但提神剂的效果还在,不觉得困。只是嘴里发苦,像含了铁片。
他起床,用冷水洗了把脸。
镜子里的男人眼眶发青,下巴上有胡茬。南洋商人的伪装需要光鲜的外表,等会儿得刮胡子,换身像样的西装。
但在这之前——
沈前锋回到桌边,最后一次看那八十组数字。晨曦从窗户斜射进来,照在笔记本上,数字的墨迹有些反光。
他突然注意到一个细节。
每组数字的第三个数字,好像有点规律。
他快速翻看:
3491——第三个数字是9
5826——2
7103——0
9462——6
1857——5
单独看没什么。但如果把八十组数字的第三位全部列出来呢?
沈前锋抓过一张新纸,飞快地写:
9,2,0,6,5,3,1,8,7,4,2,9,0,5,3,6,1,8,7,4
写到第二十个时,他停住了。
这串数字在循环。
9,2,0,6,5,3,1,8,7,4——然后又是9,2,0,6,5,3,1,8,7,4。
一个长度为10的循环。
紫电密码,至少测试电文的第三位数字,是按照固定周期变化的。这不是随机的机械加密结果,这里面有人为设定的规律。
沈前锋盯着这串循环数字,脑子里有什么东西咔哒一声,对上了。
倒计时在视野角落里闪着红光:69:58:14。
时间还够。
他抓起钢笔,在循环数字旁边写下两个汉字:
转子步进。