会议结束,周砚摘下耳机,靠在椅背上,闭上眼。
书房里很安静,只有电脑主机运转的轻微嗡鸣。他揉了揉眉心,昨晚睡眠不足的疲惫感涌上来,但很快被他压下去。
他需要重新整理思路。
陆星衍的出现,太巧合。酒吧泄密,证据直指,却又漏洞百出。那些故意留下的指纹,那块明显是高级货却被轻易“缴获”的手表,还有那些指向三年前的若有若无的线索……
像一张精心编织的网,等着他跳进去。
而他甚至不知道,撒网的人是谁。
是陆星衍自己?还是背后另有其人?
周砚睁开眼,看向电脑屏幕。桌面上有一个加密文件夹,需要三重密码才能打开。他输入密码,文件夹解锁,里面是寥寥几份文件。
全是关于“猎鹰行动”。
三年前,八月十四日,他作为外勤支援参与行动,目标是拦截一批走私的军用级加密芯片。行动负责人是陈凛,他当时的直属上司,也是他最信任的前辈。
八月十五日凌晨,行动在临海港码头展开。原本一切顺利,直到关键时刻,通讯突然中断。等周砚带人赶到预定地点时,只看见倒在血泊中的两名同事,和空荡荡的货柜。
陈凛失踪了。连同那批价值数亿的芯片。
现场没有打斗痕迹,没有外人进入的迹象。所有证据都指向一件事:内鬼。
而最大的嫌疑人,就是消失的陈凛。
但周砚不信。或者说,他不愿意信。
陈凛教过他格斗,教过他侦查,在他第一次出任务受伤时,背着他走了三公里去医院。那样一个人,怎么会……
周砚的目光落在其中一份文件上。那是技术部的现场分析报告,在货柜角落提取到微量化学物质残留,初步判断是浓硫酸,但浓度很低,像是被稀释后泼洒的。
报告末尾有一行小字:残留物中检测到人体组织碎屑,DNA匹配失败,样本库中无记录。
浓硫酸。化学灼伤。
周砚的指尖在鼠标上收紧。
陆星衍锁骨下的烧伤,三年前凌晨的就诊记录,临海港的货轮汽笛……
还有手臂上那两个字母。
CL。
陈凛。
是巧合吗?
还是……某种刻意的标记?
书房外传来轻微的响动。
周砚瞬间回神,合上文件夹,切换屏幕。他看向墙上的监控显示屏——客厅的画面里,陆星衍正坐在沙发上,翻着那本《加密算法》。
他看得很慢,一页一页地翻,偶尔会停下来,手指在书页上划过,像在思考什么。
周砚调出监控记录,回放过去两小时的画面。
陆星衍大部分时间都在沙发上,看书,或者发呆。中间去过一次卫生间,待了七分钟。然后去厨房倒了杯水,在岛台边站了一会儿,看着窗外。
很安静,很配合。
配合得……有点反常。
周砚将监控画面放大,聚焦在陆星衍翻书的手指上。他的手指很修长,骨节分明,翻页时动作很轻。但在某一页,他停住了,指尖在某个段落上停留了很久。
周砚将画面再次放大,看清了那一页的内容。
是讲“非对称加密算法的漏洞与后门”。
陆星衍盯着那段文字,表情没什么变化,但周砚注意到,他的喉结很轻地滚动了一下。
然后,他翻过了那一页。
周砚切回实时画面。陆星衍还在看书,但速度明显变慢了,目光有些涣散,像在走神。
他在想什么?
那页书,触动了他什么?
周砚关掉监控屏幕,靠在椅背上,闭上眼。
脑海里,画面一帧帧闪过。
酒吧后台,陆星衍被按在墙上时,嘴角那个似笑非笑的弧度。
后巷里,他说“我是三年前就该死的人”时,眼底那一闪而过的空洞。
审讯室里,他看到病历复印件时,骤然苍白的脸。
还有刚才,餐桌上,他说“你现在是在养宠物?”时,那种近乎自嘲的语气。
这个人,浑身是谜。
而每个谜,都指向三年前那个血腥的夜晚。
周砚睁开眼,看向书房门。
门外,是他的客厅,沙发上坐着一个来路不明、目的不明的危险分子。
而门内,是他锁了三年的心结。
他沉默了很久。
然后,他拉开抽屉,从最深处拿出一个相框。相框里是一张集体照,七八个穿着作战服的年轻人,勾肩搭背地笑着。最中间的那个,就是陈凛,那时候还很年轻,笑出一口白牙,手搭在周砚肩上。
照片右下角,一行小字:猎鹰行动组,2013.8.13,行动前夜。
那是他们唯一一张合影。
周砚的指尖拂过陈凛的脸,很轻,很慢。
“你到底……”他低声说,声音在空荡的书房里,几乎听不见。
“想告诉我什么?”
中午十二点,周砚推开书房门。
客厅里,陆星衍还坐在沙发上,但那本书已经合上了,放在一边。他仰头靠着沙发背,闭着眼,像是睡着了。
周砚走过去,脚步声很轻,但陆星衍还是睁开了眼。
“中午了。”周砚说。
“嗯。”陆星衍揉了揉脖子,坐直身体,“周老师要下课了?”
“午餐。”周砚转身往厨房走,“你想吃什么?”
陆星衍跟过来,靠在厨房门框上:“你会做?”
“基础料理。”
“那……意面?”
周砚打开冰箱的手顿了顿,回头看他。
陆星衍笑了:“不会?那随便,你做什么我吃什么。”
周砚转回头,从冰箱里拿出番茄、洋葱、意面,还有一盒冷冻虾仁。他动作很快,洗菜,切菜,烧水,一气呵成。
陆星衍就靠在门框上看他。看他把番茄切成均匀的小块,洋葱切成细丝,虾仁解冻,用纸巾吸干水分。看他开火,倒油,下洋葱炒出香味,再下番茄,加盐、黑胡椒、一点点糖。
空气里渐渐飘起食物的香气。
陆星衍的肚子很轻地叫了一声。
周砚没回头,但切菜的动作几不可察地顿了一下。
“饿了?”他问。
“有点。”陆星衍摸了摸肚子,“昨晚就喝了罐啤酒。”
“为什么不吃饭?”
“没胃口。”陆星衍随口说,目光落在周砚切菜的手上。那双手很漂亮,骨节分明,手指修长,握刀时稳得不像话,切出的洋葱丝细如发丝。
“你经常做饭?”他问。
“一个人住,总要会一点。”
“没想过找个人一起住?”
周砚没回答,将切好的番茄倒进锅里,热油遇到水分,滋啦一声响。
陆星衍等了一会儿,没等到回答,也不在意。他换了个话题:
“那本书,我看完了前两章。”
“嗯。”
“有些地方没看懂。”
“哪里?”
“RSA算法的密钥生成,为什么选两个大质数?有什么讲究吗?”
周砚关小火,盖上锅盖焖煮。然后他转过身,靠在料理台边,看着陆星衍。
“因为大质数的乘积很容易算,但反过来,将一个大整数分解成质因数,计算量非常大,以目前的算力,在有限时间内无法破解。这是RSA安全性的基础。”
陆星衍挑眉:“但如果有一天,算力足够强了呢?”
“那就需要更长的密钥,或者新的算法。”周砚说,“技术永远在进步,没有绝对的安全。”
“就像人一样。”陆星衍接话,笑了笑,“没有绝对的信任,也没有绝对的不信任。对吧,周顾问?”
周砚看着他,没说话。
锅里的番茄咕嘟咕嘟地响,香气越来越浓。
“你问这个问题,”周砚忽然开口,“是真的不懂,还是在暗示什么?”
陆星衍歪了歪头:“暗示什么?”
“暗示三年前的猎鹰行动,失败不是因为内鬼,而是因为……技术被破解了?”
空气安静了一瞬。
只有锅里汤汁翻滚的声音。
陆星衍脸上的笑容慢慢淡去,最后变成一种近乎平静的表情。他看着周砚,目光很深,像在审视,又像在权衡。
许久,他开口,声音很轻:
“如果我说是,你会信吗?”
周砚没回答。
他转身,掀开锅盖,热气扑面而来。他往锅里加了点盐,又撒了些黑胡椒,搅拌均匀。然后关火,将酱汁倒进准备好的碗里。
“面好了。”他说,声音平静无波,“洗手,吃饭。”
陆星衍盯着他的背影,看了几秒,然后笑了。
“行,吃饭。”