周日·上午九点·杭州·沈望的家
沈望住在杭州城西一栋老居民楼的四楼。苏婉和顾淮之爬上狭窄的楼梯时,门已经虚掩着等他们了。推门进去,一个头发全白的老人坐在窗前的藤椅上,面前摊着一本翻开的线装书。他的眼镜架在鼻梁低处,听到脚步声才慢慢抬起头来。

(放下书,取下眼镜。他的动作很慢,但目光清醒而锐利)苏婉?你长得像你父亲。眼睛像。
(在他对面坐下。顾淮之站在旁边)沈教授。谢谢您肯见我。


(摆了摆手,语气平淡)李建国跟我通过电话了。他说你在查周远航的事。查吧。我也等了很多年了。
他从藤椅旁边的旧书堆里抽出一个牛皮纸信封。信封很旧了,边角发黄,封口处的胶已经干裂。他把信封放在膝盖上,没有立刻递给苏婉。

1995年,你父亲找我做了一套密码学保护方案。那时候他已经决定要把项目终止了,但他担心核心框架被人盗用。所以他让我把框架的原始路径加密,密钥拆成三份。
三份密钥分别给了谁?


(竖起三根手指,一个一个数)第一份,他自己留着。第二份,给了章远。第三份——

(他停了一拍)——他给了周远航。
(手指微微收紧)我爸把密钥给了周远航?


(点头。他的目光平静而沉重,像是一个人在讲述一件他反复思考过很多年的事)周远航当年是研究所的实习生,跟在你父亲身边做技术支持。他聪明、勤奋、嘴甜。你父亲觉得他是个可造之材。那天晚上,你父亲把第三份密钥交到他手里,跟他说——“如果有一天我不在了,章远会告诉你什么时候用这个。”

(站在旁边,低声问)章远知道第三份密钥在周远航手里吗?

(摇头)不知道。你父亲只告诉了章远“密钥分了三份”,但没告诉他第三份给了谁。章远以为三份都在你父亲自己手里。你父亲想的是——如果有一天他出事了,章远和周远航可以各持一份密钥,互相制衡。但他没想到——
(接话,声音很轻)没想到周远航后来跟了顾正清。


(点头)你父亲出事之后,章远一直在找第三份密钥。他找了很多年,没找到。因为周远航从来没有把这件事告诉过任何人。他把第三份密钥藏了三十年。
---
周日·上午十点·沈望的家
沈望把那个牛皮纸信封打开。里面是一张折叠的信纸和一张手写的公式表。他把信纸展开,推到苏婉面前。

这是你父亲1995年写给我的。里面详细记录了三份密钥的分拆方案和各自的用途。我保存了三十年。今天可以交给你了。
苏婉拿起信纸。父亲的字迹熟悉而遥远。她逐行读下去,目光在最后一段停住了。那一段写着——
“三份密钥,合在一起才能打开完整框架。一份归我,一份归章远,一份归远航。如果有一天我不在了,章远和远航各自手里的密钥合在一起,就能打开前半部分。但后半部分的路径,只有我的手稿笔画里藏着。这是最后的保险。”
(把信纸放回桌面,抬起头来看着沈望)周远航手里的第三份密钥,只能打开前半部分?


(点头)对。你父亲把完整框架拆成了三层——第一层是基础架构,需要两份密钥合并。第二层是后半部分路径,藏在你的手稿笔画里。第三层是最终密钥,只有你父亲自己知道放在哪。周远航拿到了第三份密钥,但他只能打开第一层。所以他才需要秦放。因为秦放手里有前半部分的代码。
(慢慢理清这条链路)周远航从秦放那里拿到了前半部分代码,然后用第三份密钥打开了第一层框架。但他打不开第二层和第三层。所以他补完后半部分的时候,用的路径是从章远那里偷来的。


(微微点头,目光里有一丝赞许)你比你父亲想得深。你父亲当年设计这个三密钥方案,就是为了防止某一个人独占框架。他信任周远航,但他也留了后手。
---
周日·中午十二点·杭州·返程高铁上
苏婉坐在靠窗的位置,手里攥着沈望给的那封信。顾淮之坐在旁边,安静地等着她先开口。
(过了很久,终于开口。她的声音很平,但比平时多了一层沉重的东西)我爸信任周远航。他把第三份密钥亲手交给了他。他死之后,周远航拿着那份密钥,把前半部分框架打开了。然后补完了后半部分。他用了章远藏的路径、秦放写的代码、和我爸给他的密钥。他把所有人的东西拼在一起,然后说那是他自己的。


(侧头看着她)但沈望手里的这封信,可以证明周远航的第三份密钥是苏承业给他的。不是他自己获得的。他只是保管者,不是创造者。
(点头,把信收好)沈望还告诉我一件事。他当年留了一份备份——三份密钥合并之后的完整验证码。如果周远航的版本是用合法途径补完的,那个验证码会和他的代码完全匹配。如果不匹配——


说明他的代码里嵌了非法修改。
(看向窗外。高铁正经过一片连绵的茶山,深秋的绿色深浅不一,像一幅没干透的画)沈望把验证码给我了。回深圳之后,我会让陈默用那个验证码去比对周远航版本的底层代码。如果有任何不匹配的地方,就说明周远航篡改了框架的原始路径。

---
周日·下午三点·公司技术排查室
苏婉把沈望给的验证码交给了陈默。技术人员把验证码输入比对系统,和周远航版本的底层代码进行逐行匹配。比对跑了大约四十分钟。屏幕上跳出一行结果——

(盯着屏幕,声音有些发紧)苏总。比对结果出来了。周远航版本的底层代码和验证码的匹配度……只有百分之六十七。
(走到屏幕前)另外百分之三十三呢?


(调出另一组数据。屏幕上显示着周远航版本的底层代码和验证码之间的差异对照。差异部分全部集中在后半段路径的接口处。每一处差异都有一个共同特征——)这些差异点的代码风格,和陆景行的代码风格高度一致。
(呼吸微微一滞)你说什么?


(把屏幕转过来,让她看得更清楚)周远航版本的后半段路径里,有一部分代码的编写风格、变量命名习惯、注释格式——和景行在“心灵镜像”服务器上留下的代码风格完全一致。相似度百分之九十八。

(从旁边走过来,盯着屏幕)周远航的后半段路径里,用了景行的代码?

(点头,声音有些干涩)而且这些代码的时间戳显示——它们的原始创建时间,是2023年。火灾之前。
想看后续呀,蹲蹲!