第51章 紧急召唤·深夜的秘密任务
- 我每天能指定刷新技能
- 光有梦想
- 7431字
- 2026-01-23 01:35:03
余洋发现,人真的不能随便立flag。
昨天他刚跟林小悠说“最难的坎儿迈过去了”,今天坎儿就变成山了——还是喜马拉雅那种,带着雪崩特效和缺氧警告的那种。这就好比打游戏通关后得意洋洋地截图发朋友圈,结果系统弹出提示:恭喜解锁隐藏关卡“地狱难度”。惊不惊喜?意不意外?想不想死?
深夜十一点四十七分。
为华坂田园区静得像座坟墓——如果坟墓里堆满服务器和芯片设计文档的话。
余洋刚完成NPU功耗优化的收尾工作,正瘫在人体工学椅上思考人生三大哲学问题:夜宵吃什么、明天睡到几点、以及怎么委婉地告诉周明“我想请假回趟燕京看我妈”。
然后他的加密手机震了。
不是普通震动,是那种带着摩尔斯电码节奏的、三短三长三短的特定震动模式。
余洋瞬间坐直。
这部手机是赵建国给的,外观像个过时的诺基亚功能机,但里面集成了北斗加密通信模块。赵建国当时说:“非紧急勿用。响了,就是真有事。”
余洋按下接听键。
“余洋同志,”赵建国的声音传来,背景有轻微的电波杂音,“现在能离岗吗?”
“能,”余洋看了眼空荡荡的实验室,“就我一个人。”
“园区东门,黑色轿车,车牌尾号179。二十分钟内到。”
“任务性质?”
“到了说。带脑子和身份证。”
电话挂了。
余洋盯着手机看了三秒,然后开始收拾东西。
笔记本电脑必须带——谁知道要算什么。充电器、移动硬盘、还有那本《现代密码学原理》……他把双肩包塞得鼓鼓囊囊,拉链都快崩了。
这场景像极了大学生期末考前夜的突击复习——平时不烧香,临时抱佛脚。区别在于大学生抱的是课本,余洋抱的是可能涉及国家安全的密码学知识。而且人家大学生抱佛脚是为了不挂科,余洋抱佛脚是为了……嗯,为了不辜负党和人民的期望?这压力等级直接拉满。
背上包,关灯,锁门。
走廊里只有安全出口标志的绿光,把一切都照得阴森森的。脚步声在空旷的楼道里回响,啪嗒,啪嗒,像恐怖片的前奏。
余洋走到电梯口,按下按钮。
电梯从一楼缓缓上升,数字跳动:1…2…3…
他突然想起什么,掏出普通手机,给林小悠发消息:
【临时有事,晚点回。别等。】
消息秒回:
【又加班?余洋你昨天答应我什么来着?】
余洋苦笑,打字:
【不是加班。是……社会实践。】
【凌晨十二点的社会实践?你当我是三岁小孩?】
电梯到了,门开。
余洋走进电梯,信号开始减弱。他快速打字:
【真的。回来跟你细说。先睡。】
发送。
电梯下行。
手机信号格彻底空了。
为华东门。
雨开始下了。不是淅淅沥沥的小雨,是鹏城夏夜典型的暴雨,噼里啪啦砸在地上,溅起的水雾把路灯都模糊成光晕。
一辆黑色轿车停在路边,没开大灯,像潜伏在夜色里的兽。
余洋拉开车门钻进去。
车里除了司机,副驾还坐着一个人——三十多岁,寸头,黑西装,坐姿笔挺得像尺子量的。
“余洋同志?”寸头男回头,递过来一个平板,“先看这个。”
平板上是份简单的任务简报,红头文件,盖着“国家保密局”的章。
余洋快速浏览。
任务名称:“烛龙行动-子任务三”
任务目标:协助破解某境外加密通信链路,定位信号源。
时限:72小时。
他的权限:技术顾问,可调用部分解密资源。
“赵局在基地等您,”寸头男说,“路程四十分钟。您可以先休息。”
余洋没休息。
他打开笔记本电脑,连上平板提供的临时WiFi——信号经过层层加密,跳转了三四个代理节点才连上内网。
内网里有任务详细资料:加密算法分析、流量捕获样本、还有十几篇相关技术论文。
余洋扫了一眼加密算法描述,眉头皱起来。
“这用的是……自研的流密码算法?”他问。
“对,”寸头男有些意外,“您一眼就看出来了?”
“结构有特点,”余洋指着屏幕,“传统流密码用线性反馈移位寄存器,但这个算法的状态转移函数是非线性的,还带了时间变量。”
他顿了顿:
“设计者很聪明。这种算法很难用传统的密码分析攻破。”
“所以需要您,”寸头男说,“赵局说,您有‘特殊的天赋’。”
余洋没接话。
他闭上眼睛,意识沉入系统界面。
【检测到紧急任务:密码学攻坚】
【推荐技能:密码学精通(大师级)】
【消耗应变点:3000】
【是否兑换?】
余洋看了眼余额:5540点。
兑换。
瞬间,海量知识涌入脑海:从古典密码到现代公钥体系,从差分分析到线性攻击,从侧信道攻击到量子密码威胁……
这种感觉就像给大脑插了U盘,而且是USB 3.0高速接口的那种。知识不是“学”会的,是直接“灌”进去的。余洋在那一刻明白了什么叫“开挂”——别人要读十年书、做五年研究才能掌握的东西,他三秒钟就拥有了。但这种便利背后有种隐秘的代价:他越来越依赖系统,越来越像个人形外挂载体。而这个事实,让他偶尔会在深夜惊醒,问自己——如果没有系统,我还能走多远?
车在暴雨中疾驰。
雨刷器以最高频率摆动,仍然赶不上雨水倾泻的速度。窗外的世界扭曲变形,灯光拉成长长的色带。
余洋睁开眼,瞳孔深处有种奇异的光——那是知识过量摄入后的短暂过载效应。
“有笔吗?”他问。
寸头男递过来便签本和钢笔。
余洋开始写公式。
`S_{t+1}= f(S_t, t)⊕ K_t`
`C_t = P_t⊕ S_t`
`其中 f是非线性函数,K是密钥流,t是时间变量……`
笔尖在纸上沙沙作响,像春蚕食叶。
寸头男从后视镜看着他,眼神复杂。
这个少年太年轻了,年轻得不像该出现在这种场合的人。但他写字时的专注,推导公式时的流畅,又分明是个老手。
矛盾感在这个雨夜里发酵。
凌晨一点二十一分。
车驶入一个看起来像物流园区的地方。高墙,铁丝网,大型仓库。门口的保安没穿制服,但腰杆挺直,眼神锐利——余洋认出那是军人的站姿。
车停在最里面的仓库前。
卷帘门缓缓升起,里面不是货物,而是个现代化的大厅。几十个工位,大屏幕墙,还有穿着各色制服的人在忙碌。
空气里有种特殊的味道:咖啡、汗液、还有电子设备发热的焦糊味。
赵建国站在大厅中央,背着手,看大屏幕上的信号图谱。
他听见脚步声,回头,脸上露出难得的笑容:
“来了。”
“赵局,”余洋走过去,“任务简报我看了。算法分析有初步思路。”
“这么快?”赵建国挑眉。
“路上想了下,”余洋把便签本递过去,“这种带时间变量的非线性流密码,硬破解很难。但如果我们能拿到一段足够长的密文……”
“多长?”
“至少密钥流周期的十分之一,”余洋快速心算,“按算法设计,周期大概是2^40个字捷。也就是大概1TB的密文。”
赵建国笑了:“那不用想了。我们只截获了200MB。”
“所以得换个思路,”余洋看向大屏幕,“这些信号……是从哪里捕获的?”
“南海,某岛礁附近,”赵建国走到控制台前,调出地图,“对方用高频无线电发报,每天固定时间,每次不超过五分钟。我们监听了两个月,才攒了这些数据。”
地图上,红色光点标注着信号源的大致区域——方圆五十公里,茫茫大海。
“如果能精确定位,”余洋问,“下一步是什么?”
“那就不用你操心了,”赵建国拍拍他的肩,“你的任务就是在七十二小时内,找到破解方法。需要什么资源,提。”
余洋环顾大厅。
这里的技术装备很先进,但人手明显不足——只有十几个人,每个人面前都堆着三四块屏幕,眼圈都是黑的。
“我需要一个安静的工作空间,”他说,“还有……这几篇论文的原文。”
他列出清单:五篇IEEE密码学年会论文,三篇欧洲密码学会论文,还有两篇俄语论文——系统知识里有引用,但他需要看原文细节。
赵建国点头:“小李,带余顾问去三号室。论文半小时内调齐。”
一个年轻女孩站起来:“余顾问,这边请。”
三号室是个十平米的小房间。
一张桌子,三台电脑,一个白板。墙上贴着“保密守则”和“网络安全规定”。
余洋把背包放下,刚开机,门又开了。
小李端着托盘进来:咖啡、泡面、巧克力、还有一瓶眼药水。
“赵局交代的,”她说,“让您注意身体。”
“谢谢,”余洋接过咖啡,“你们也熬了很久吧?”
“十七天了,”小李苦笑,“这个加密算法卡住了整个小组。试了所有常规方法,都没进展。”
她顿了顿,声音低下来:
“余顾问,其实……大家有点质疑。”
“质疑什么?”
“质疑您,”小李说得直接,“您太年轻了,而且资料显示您主攻芯片设计,不是密码学。赵局力排众议把您请来,压力很大。”
余洋笑了:“那你们现在最需要什么?”
“一个突破口,”小李说,“哪怕只是方向性的建议。”
余洋走到白板前,拿起马克笔。
“好,那我就给个方向。”
他在白板上画图:
“传统密码分析,是从算法本身找漏洞。但如果我们换个角度——不从算法下手,从‘实现’下手。”
“实现?”
“任何加密算法,最终都要在硬件上运行,”余洋画了个芯片简图,“芯片有功耗,有时序,有电磁辐射。这些物理特性,可能泄露信息。”
小李眼睛亮了:“侧信道攻击?”
“对,”余洋点头,“但我们拿不到对方的硬件。所以……换个思路。”
他在白板上写下一行字:
通信协议逆向工程
“高频无线电通信,除了加密内容,还有协议头、校验码、同步信号,”余洋快速写着,“这些辅助信息虽然也加密了,但结构相对固定。如果我们能分析出协议格式……”
“就能推测加密算法的某些参数!”小李接话。
“聪明,”余洋笑了,“来,把你们捕获的所有数据包头部信息提取出来。我们做个统计分析。”
小李冲出门,两分钟后抱着硬盘回来。
数据导入,程序运行。
屏幕上开始滚动十六进制代码。
余洋盯着屏幕,眼睛一眨不眨。
狭小的房间里,屏幕蓝光映着两张年轻的脸。余洋的手指在键盘上跳跃,小李在旁边快速记录。白板上逐渐写满公式和推测。窗外暴雨未停,雨声被隔音材料过滤成模糊的背景音。而在这一方天地里,一场关于信息与反信息的无声战争,正以代码和数据的形式激烈进行。时间在流逝,每一秒都像沙漏里的沙,关乎成败,关乎荣辱,也关乎某种更沉重的责任。
凌晨三点。
余洋突然停手。
“找到了,”他声音很轻,“协议头的第32到35字捷,每次都在变,但变化模式有规律。”
他调出波形图:
“看,这四个字捷的值,和时间呈线性关系。斜率固定,截距……每天变一次。”
小李倒吸冷气:“这是……密钥的日期变量部分?”
“大概率是,”余洋快速写代码,“如果这个推测成立,那么我们可以反推出密钥生成算法的一部分参数。”
程序运行。
十分钟后,屏幕上跳出结果:
`推测密钥种子更新周期:24小时`
`时间变量编码方式:UTC时间戳取模`
`非线性函数f可能的结构:基于S盒的SPN网络`
余洋盯着这些结果,脑子里快速推演。
有了这些参数,破解难度从“大海捞针”降到了“池塘钓鱼”。
虽然还是很难,但至少有了方向。
“把结果报给赵局,”他说,“我需要更多计算资源。这个非线性函数的S盒可能不止一层,需要暴力枚举。”
小李冲出去。
余洋靠在椅子上,揉了揉太阳穴。
三百六十行知识在脑子里打架,像三百六十个小人在开辩论会。系统给的技能是“精通”,但精通不等于“不用思考”。相反,知识越多,要做的选择和判断就越多。
这感觉很奇妙:你明知道路就在那里,但路上布满岔路口,每个岔路都可能通向死胡同。
凌晨的灯光下,少年仰着头,闭上眼睛。睫毛在眼睑下投出细密的阴影。他太年轻了,年轻到不该承受这样的重量——十几亿人的信息安全,国家间的无声较量,还有那些在黑暗中对峙的未知力量。但他坐在那里,肩背挺直,像一棵在暴风雨里努力扎根的树。根须向下,枝叶向上,在无人看见的角落,安静地生长。
凌晨四点。
赵建国推门进来,手里拿着刚打印出来的报告。
“余洋,”他声音里有压抑的激动,“你的推测,验证了。”
余洋睁眼:“验证了?”
“我们调了北斗系统的历史数据,对比信号捕获时间,发现你的‘日期变量’模型完全吻合,”赵建国把报告递过来,“现在,我们需要你完成最后一步——破解S盒的具体结构。”
他顿了顿:
“基地的算力全给你调用了。三台天河二号节点,够不够?”
余洋愣了:“天河?国之重器用来算这个?”
“国之重器就是用来解决国之难题的,”赵建国笑了,“七十二小时倒计时,现在还剩六十八小时。你需要多久?”
余洋快速估算。
S盒如果是8进8出(256种可能),三层嵌套的话,搜索空间是256^3,约一千六百万种可能。天河二号的算力……
“给我十二小时,”他说,“十二小时后,我给你答案。”
“好,”赵建国转身,“十二小时,我等你。”
门关上。
余洋深吸一口气,开始编写并行计算脚本。
手指在键盘上飞舞,代码行如瀑布般流淌。
这不是他擅长的领域——系统给了知识,但没给“手感”。他得像学游泳的人第一次下水,明明知道理论,但身体不听话。
出错,调试,再出错,再调试。
凌晨五点,脚本终于跑通了。
任务提交到超算队列。
余洋看着屏幕上“等待计算”的状态,突然觉得饿。
他撕开泡面,倒热水。
三分钟等待时间,他靠在墙上,闭上眼睛。
脑子里还在转:S盒,非线性,雪崩效应……
然后手机震了——不是加密手机,是普通手机。这里居然有信号?
他拿出来看,是林小悠的消息:
【我在为华东门。雨太大,打不到车。你能来接我吗?】
余洋瞪大眼睛。
凌晨五点,暴雨,她从燕京飞来了?
他拨通电话:“小悠?你在哪?”
“为华东门,”林小悠的声音带着哭腔,“我查了天气预报,鹏城暴雨。我担心你……就买了最后一班飞机。”
余洋心里一紧:“你等着,我马上……”
话说到一半,他停住了。
他在保密基地,出不去。
而且,就算出去,他也不能把她带到这里。
“小悠,”他声音发干,“我现在……出不去。”
电话那头沉默了。
然后林小悠说:“我明白了。又是‘社会实践’,对吧?”
“对。”
“危险吗?”
“不危险,”余洋说谎了,“就是……需要保密。”
“好,”林小悠吸了吸鼻子,“那我回酒店。你忙完了联系我。”
“你一个人不安全——”
“我带了防狼喷雾,”林小悠努力让声音轻快,“而且鹏城治安很好。你去忙吧,别担心我。”
电话挂了。
余洋握着手机,站在那儿,很久没动。
泡面的热气升腾起来,模糊了他的眼镜片。
这一刻,余洋突然理解了什么叫“使命”,什么叫“取舍”。使命不是宏大的口号,是你在深夜里接到任务时毫不犹豫的起身。取舍不是壮烈的牺牲,是你在爱人冒雨赶来时只能说“我出不去”。泡面在变凉,雨还在下,几百公里外的女孩独自在陌生城市的暴雨里等待。而他在这个与世隔绝的房间里,面对着关乎国家安全的难题。没有对错,只有选择。而他的选择,早在他接下那部加密手机时,就已经注定。
上午九点。
超算任务完成百分之三十。
余洋趴在桌子上睡着了——不是他想睡,是身体强制关机。
他做了个很短的梦。
梦里他在解一道无穷无尽的数学题,每解一步,题目就变复杂一倍。他拼命跑,题目在后面追。
然后他醒了。
因为有人拍他的肩。
小李端着早餐:“余顾问,赵局让您去主控室。”
余洋抹了把脸,跟着她出去。
主控室里气氛凝重。
大屏幕上的地图,红色光点区域在闪烁。旁边多了一行字:监测到异常信号活动,疑似准备转移。
“对方可能察觉了,”赵建国脸色严肃,“我们的监听站发现,信号源在移动。如果让他们进入公海,就难追了。”
“还有多久?”余洋问。
“最多二十四小时。”
余洋看了眼时间:超算任务还剩六小时。
“来不及等完整结果了,”他说,“把已经算出来的部分S盒结构给我。我尝试用不完全信息推导完整算法。”
“成功率?”
“不知道,”余洋实话实说,“但总比干等强。”
赵建国盯着他看了两秒,然后挥手:“按他说的做。”
上午十一点。
余洋把已经计算出的三分之一S盒结构输入分析程序。
程序开始尝试补全剩下的部分。
这是个极其耗时的过程——就像你只知道拼图的三分之一,要猜出整幅图是什么。
余洋盯着进度条,手指无意识地敲着桌子。
突然,他脑子里闪过一个画面。
昨晚看的那些论文里,有一篇提到过“非线性反馈移位寄存器的代数攻击”。
他跳起来,冲到白板前,疯狂演算。
`设S盒为S(x),未知。已知输入输出对(x_i, y_i)……`
`建立方程组:y_i = S(x_i)`
`但S是非线性的,方程组难解。如果引入中间变量……`
笔在白板上疾走,公式越来越复杂。
小李在旁边看着,眼睛越瞪越大。
她终于忍不住问:“余顾问,您这是……在发明新算法?”
“不是发明,”余洋头也不回,“是组合。把代数攻击和侧信道信息结合,构造约束条件,缩小搜索空间。”
他写完最后一个公式,后退一步,审视着满满一白板的推导。
“成了,”他轻声说,“现在,搜索空间从一千六百万降到了……大概一万。”
小李倒吸冷气:“这……可能吗?”
“理论可能,”余洋回到电脑前,“实践才知道。”
他修改程序,把新的约束条件加进去。
重新提交超算任务。
这一次,预计时间:两小时。
下午一点。
余洋收到林小悠的消息:
【我找到酒店住下了。雨停了,鹏城的天好蓝。】
附了一张照片:窗外的蓝天,还有她比耶的手。
余洋看着照片,笑了。
然后他回复:【等我。晚上应该能结束。】
【好。我等你。】
放下手机,他看向屏幕。
超算进度:89%。
快了。
下午一点四十七分。
程序弹出提示框:
`计算完成。发现唯一解。`
余洋的心脏狠狠跳了一下。
他点开结果文件。
完整的S盒结构,三层嵌套,每个字捷的映射关系,清清楚楚。
“小李,”他声音发颤,“叫赵局。”
下午两点十分。
主控室。
余洋把最终报告递给赵建国。
“这是完整的加密算法结构。密钥生成流程、非线性函数、S盒映射,全部还原。”
赵建国快速翻阅,然后递给旁边的技术负责人:“验证。”
技术负责人操作电脑,把算法模型导入解密程序。
程序开始运行。
大屏幕上,捕获的密文数据被输入,解密程序按新算法尝试解密。
进度条缓缓移动。
所有人都屏住呼吸。
余洋觉得自己的手心在出汗。
主控室里,几十双眼睛盯着大屏幕。空气仿佛凝固了,只有服务器风扇的嗡嗡声。屏幕蓝光映在每个人的脸上,映出同样紧张的表情。少年站在赵建国身边,背挺得笔直,但手指在微微颤抖。这一刻,七十二小时的努力,十七天的煎熬,两个月的监听,全部凝结成一个进度条。而那个缓慢爬行的像素块,将决定这次行动的成败,也将决定这个少年在国家任务中的第一次亮相,是惊艳还是暗淡。
进度条走到100%。
屏幕闪烁了一下。
然后,一大段文字跳了出来。
是明文。
中文。
内容让所有人瞳孔收缩:
“……已确认坐标,三日后抵达……接应船只编号……暗号……”
赵建国猛地转头,对操作员下令:“定位!马上!”
操作员手指飞舞。
三十秒后,地图上的红色光点区域急剧缩小,最终锁定在一个具体的经纬度上。
距离海岸线十二海里,还在领海范围内。
“抓!”赵建国只说了一个字。
整个主控室瞬间动起来。指令下达,通讯接通,行动部队出发。
余洋站在那里,看着这一切,突然觉得腿软。
他做到了。
他真的做到了。
赵建国走到他面前,用力拍了拍他的肩:
“余洋同志,我代表国家,感谢你。”
余洋张了张嘴,想说什么,但没说出来。
他只是点了点头,然后轻声问:
“我现在……能回去了吗?”
“能,”赵建国笑了,“车在外面等你。回去好好睡一觉。”
他顿了顿,补充道:
“这次任务,记你一等功。勋章和文件,后续会保密送达。”
余洋没在意什么勋章。
他只是背起包,走出主控室。
走廊很长,灯光很亮。
他走着走着,突然笑了。
笑得眼泪都出来了。
不是骄傲,不是兴奋。
是一种更复杂的情绪:原来,他真的可以用他的方式,守护这片土地。
而这片土地,也真的需要他。
这就够了。
足够了。