第31章 第一次任务·三天速成密码学

凌晨三点十分。

手机震动。

不是闹钟,不是绿泡泡,是那个余洋只存了号码、没存名字的加密通讯软件。

屏幕亮着冷白色的光,在黑暗的宿舍里格外刺眼。

消息很简单:

“东门,黑色奥迪,五分钟。”

余洋从床上坐起来,动作轻得像猫。下铺的王猛在打呼,李思远的呼吸平稳,陈海翻了个身,嘟囔了句梦话。

他穿上衣服——赵建国那边准备的,全黑运动装,材质特殊,摸起来像鲨鱼皮。

拿起背包,里面只有三样东西:笔记本电脑,充电宝,还有一本……《密码学基础教程》。

是的。

临阵磨枪,不快也光。

虽然这枪磨得有点太临时了。

余洋走到门口,回头看了眼宿舍。

三个室友睡得正香。

他轻轻带上门。

楼道里声控灯应声而亮,昏黄的光线下,他的影子被拉得很长。

像要去干坏事。

实际上——

确实是“坏事”。

只不过是国家允许的那种。

车开了四十分钟。

没上高速,一直在绕。

绕到余洋都快分不清东南西北时,终于停在了一栋看起来像废弃工厂的建筑前。

真的很像废弃工厂。

锈迹斑斑的铁门,斑驳的墙皮,窗户玻璃碎了几块,院子里长着半人高的杂草。

唯一的区别是——

门口站着两个人。

穿着迷彩服,持枪。

真枪。

余洋眼皮跳了跳。

黑衣人下车,示意他跟上。

穿过铁门,走进厂房。

然后——

画面突变。

就像电影里的转场特效。

外面破败不堪,里面……科技感爆炸。

纯白色的走廊,地板光洁得能照出人影。天花板是整片的LED光源,洒下冷色调的光。两侧是一扇扇厚重的金属门,门上只有编号:A01,A02,A03……

空气里有淡淡的臭氧味,和精密仪器运转时的那种……微弱的嗡鸣。

“到了。”黑衣人在B07门前停下,刷卡,虹膜识别,指纹验证。

三重验证。

门无声滑开。

里面是一个机房。

很大。

大到余洋第一眼没看到头。

成排的服务器机柜像黑色的墓碑,整齐排列,指示灯闪烁如星河。巨大的屏幕墙横贯整个房间,上面滚动着余洋完全看不懂的数据流。

房间中央,十几个人坐在操作台前,手指在键盘上飞舞,没人抬头。

空气里弥漫着咖啡因和焦虑的混合气味。

一个三十岁左右、穿着格子衬衫、头发油腻的技术员走过来,看了余洋一眼,皱眉:

“新来的?”

黑衣人点头:“赵主任安排的人。任务简报给他。”

技术员接过一个平板,扫了眼屏幕,又看了看余洋,眉头皱得更深了:

“大学生?”

“嗯。”

“哪个学校的?”

“华清。”

技术员沉默了两秒,把平板塞回黑衣人手里:

“哥们,别开玩笑。这是A级任务,不是社会实践。”

黑衣人面无表情:“赵主任亲自点的。”

技术员又盯着余洋看了五秒,最后叹了口气:

“行吧。镀金就镀金,别添乱就行。”

他指了指角落一张空桌子:“那儿待着,有水果和零食。任务结束给你写个优秀评价。”

余洋:“……”

很好。

被当成关系户了。

余洋走到那张桌子前。

桌上确实有水果——一盘苹果,几个橘子。

还有薯片和可乐。

真把他当来郊游的了。

他放下背包,坐下。

打开平板,任务简报:

【目标:破解“信鸽”系统加密通讯】

【来源:某境外情报组织】

【特点:动态密钥,每24小时更换,72小时周期】

【当前进度:已捕获流量数据包,密钥分析停滞】

【剩余时间:71小时58分钟】

下面是一大堆技术术语:非对称加密、哈希碰撞、时间戳混淆……

余洋看完,闭上眼睛。

心里默念:

【技能规划启动】

【目标:破解“信鸽”加密系统】

【时间:72小时】

【技能序列:密码学精通(24h)→协议逆向(24h)→流量分析(24h)】

【应变点消耗:400】

【确认执行】

【确认。】

那一瞬间——

知识涌入的感觉,像被高压水枪怼脸。

不是温柔地学习。

是暴力地灌输。

密码学千年历史,从凯撒密码到RSA,从Enigma到量子加密……海量的公式、算法、案例、漏洞,像决堤的洪水一样冲进他的大脑。

余洋脸色一白。

手撑住桌子,指关节发白。

“喂,你没事吧?”技术员注意到他的异常,走过来,“低血糖?吃个苹果?”

余洋摆摆手,深吸几口气。

“没事,”他声音有点哑,“就是……有点饿。”

“那吃啊,”技术员指了指水果,“别客气。”

余洋拿起一个苹果,咬了一口。

甜。

但脑子里还在翻江倒海。

十分钟后,灌输结束。

余洋睁开眼。

世界不一样了。

那些屏幕上滚动的数据流,原本是天书,现在……

像在看小学语文课本。

他站起身,走到技术员旁边。

“那个……”

技术员正盯着屏幕,头也不回:“嗯?”

“这个RSA-2048的密钥,你们试过侧信道攻击吗?”

技术员手指一顿。

慢慢转过头。

“你……说什么?”

“侧信道攻击,”余洋指了指屏幕上的一个波形图,“从功耗轨迹分析,这里有个明显的峰值,可能是密钥调度时的缓存未命中。”

技术员张了张嘴。

没说出话。

余洋继续问:“还有,时间戳混淆的伪随机数生成器,用的是线性同余法吧?种子会不会是系统启动时间?”

技术员缓缓站起身。

像看怪物一样看着余洋。

“你……不是来镀金的?”

余洋眨眨眼:“我是来镀金的啊。镀点真金。”

接下来24小时,余洋让整个技术团队见识到了什么叫——

开挂式学习。

第一天上午,他追着技术员问问题。

“这个彩虹表是多大容量的?”

“为什么不用GPU加速碰撞?”

“哈希盐的存储位置确定了吗?”

问题一个比一个专业。

技术员从最初的不耐烦,到疑惑,到震惊。

下午,余洋已经不需要问了。

他坐在自己的电脑前,手指在键盘上飞舞,屏幕上代码滚动,速度快得让人眼花缭乱。

偶尔抬起头,说一句:

“第37号数据包有问题。”

“协议头部的校验和计算方式有误。”

“密钥交换流程里少了一个握手环节。”

每次他说完,技术团队验证后,都是一阵沉默。

然后默默修改代码。

第一天晚上十点。

技术员端着咖啡走过来,放在余洋桌上。

语气恭敬:

“余……余老师,您看这个地方……”

余洋抬头,接过咖啡:“叫我余洋就行。”

“好的余老师,”技术员点头,“您看这个时间同步漏洞……”

余老师。

24小时,从“镀金的关系户”升级为“余老师”。

很好。

很现实。

第二天中午。

突破性进展。

余洋盯着屏幕上的数据流,突然指着其中一段:

“这里。”

技术员凑过来:“哪里?”

“每第37个数据包,”余洋放大波形,“比其他包多1字捷。不是误差,是故意的。”

“什么意思?”

“密钥,”余洋眼睛发亮,“他们把密钥拆散了,每37个包藏1个字捷。用时间戳做索引,动态组合。”

技术员愣住。

他盯着屏幕看了足足一分钟。

然后猛地拍桌子:

“操!我们分析了三天没发现!”

整个机房的人都看过来。

余洋揉了揉太阳穴:“因为你们在找完整的密钥块。但实际上,他们玩的是拼图游戏。”

技术员转身,对着团队大喊:

“重新分析!按37的倍数提取字捷!快!”

机房瞬间忙碌起来。

余洋靠在椅子上,闭上眼睛。

脑子里在快速计算:37字捷的密钥,256种可能,组合数……

天文数字。

但如果有时间戳索引……

他睁开眼,看向技术员:

“系统日志里,有没有异常的时间同步记录?”

技术员愣了下,快速调出日志。

滚动,搜索。

停住。

“有!”他声音激动,“三天前,目标服务器时间突然跳变1秒。我们当时以为是时钟漂移……”

“不是漂移,”余洋站起身,“是索引重置。”

他走到大屏幕前,拿起触控笔,开始画:

“假设密钥是K,拆成37个字捷:K1,K2…K37。”

“每发送37个包,嵌入一个字捷。顺序由时间戳的哈希值决定。”

“但三天前时间跳变,意味着哈希函数重置——密钥嵌入顺序也重置了。”

他顿了顿,看向技术员:

“也就是说——”

“我们现在捕获的流量里,有两套不同的嵌入顺序。”

“而这两套顺序,共用同一个密钥K。”

技术员瞳孔放大。

他懂了。

“交叉验证……”他喃喃道,“用两套顺序反推密钥……”

“对,”余洋放下笔,“计算量会大大减少。”

整个机房安静了几秒。

然后爆发出欢呼。

“牛逼!”

“卧槽这思路!”

“快!写脚本!”

余洋退回座位,拿起已经冷掉的咖啡,喝了一口。

苦。

但心里有点甜。

装逼成功的感觉——

真不错。

第三天,凌晨两点。

机房里的咖啡消耗量创下历史新高。

空罐子堆成了小山。

每个人都眼睛通红,但没人睡。

因为进度条,已经走到99%。

余洋坐在电脑前,屏幕上是一个自己写的破解程序。

正在跑最后一遍验证。

进度:98%...99%...100%。

“叮。”

提示音。

屏幕弹出窗口:

【密钥提取成功】

【K = 0x3F9A7C2E…(共37字捷)】

【验证通过】

余洋长出一口气。

靠在椅子上。

感觉身体被掏空。

技术员冲过来,看着屏幕,手都在抖:

“成……成了?”

“嗯,”余洋点头,“解密吧。”

技术员颤抖着手,输入密钥。

点击“解密”。

屏幕上的密文,像被施了魔法,瞬间展开成明文。

那是一段通讯记录:

“……物资已就位,三号仓库……”

“……交接时间:6月28日15:00……”

“……联系人:代号‘夜莺’……”

后面还有地址,坐标,人员名单。

清清楚楚。

“定位!”技术员大喊。

另一组人员快速操作,地图上,一个红点闪烁。

坐标:津门港,某保税仓库。

时间:今天下午三点。

“通知行动组!”技术员抓起电话,“目标确认,准备收网!”

机房陷入短暂的混乱,然后是高效的行动。

余洋坐在那里,看着这一切。

感觉……很不真实。

三天前,他还在宿舍啃《半导体物理》。

三天后,他帮国安破解了一个境外情报网络。

这跨度……

比蹦极还刺激。

清晨五点。

任务结束。

行动组传来消息:目标全部抓获,物资查扣,证据确凿。

机房里的欢呼声持续了整整三分钟。

赵建国就是这时候走进来的。

他穿着便服,但腰板挺直,像一杆标枪。

目光扫过机房,最后停在余洋身上。

走过来。

拍了拍余洋的肩膀。

力道很大。

“干得不错,”他说,脸上有罕见的笑容,“情报准确,行动顺利。”

余洋站起身:“应该的。”

赵建国打量着他——黑眼圈浓得像熊猫,头发油腻,衣服皱巴巴。

但眼睛很亮。

“你真是大学生?”他问。

余洋揉了揉太阳穴,苦笑:

“如假包换。”

“就是……”

他摸了摸头发:

“快秃了。”

全场爆笑。

连一直严肃的技术员都笑出了声。

赵建国也笑了。

笑完,他正色道:

“回去休息三天。工资和奖金会打到你账户。”

“另外——”

他从口袋里掏出一个东西。

递给余洋。

那是一枚徽章。

银色,圆形,中间是国徽图案。

背面刻着字:国家特殊贡献(临时)。

“临时版,”赵建国说,“正式的勋章,等你立了大功再说。”

余洋接过。

徽章很轻。

但握在手里,很重。

“谢谢。”他说。

“谢什么,”赵建国转身,“是你自己挣的。”

他走到门口,又回头:

“对了。”

“下次任务,可能更快找你。”

“做好准备。”

余洋点头:“好。”

车送余洋回华清时,天已经亮了。

朝阳从东边升起,把城市镀成金色。

司机还是那个黑衣人,但这次态度明显不同:

“余老师,以后多关照。”

余洋:“……叫我余洋就行。”

“好的余老师。”

余洋放弃了。

他靠在座椅上,看着窗外飞逝的街景。

手里握着那枚徽章。

脑子里想着这三天的一切。

然后笑了。

密码学,挺有意思的。

下次——

也许可以试试更难的。

手机震动。

是林小悠的消息:

“你消失三天了!没事吧?”

余洋回复:

“没事。做了个……社会实践。”

“什么社会实践要三天?”

“保密的那种。”

“?”

“等我回学校,请你吃饭。慢慢说。”

发送。

他收起手机,闭上眼睛。

三天没怎么睡。

现在,终于可以——

好好睡一觉了。