下一章 上一章 目录 设置
22、心跳测试 六十七次心 ...
-
面还没吃完,戒指先动了。
林溪放下筷子,低头看左手无名指——那道金线正在以她没见过的方式闪烁,节奏不稳,像一条被风吹乱的线。她闭了一秒眼,戒指里传来一道心跳声。比墨渊的快,节拍更浅,像是从远处被压缩过之后投过来的。
她睁开眼,看墨渊。
他蹲在灶台边缘,尾巴盘在爪边,正低头吃着碗里最后一口炒饭。嚼的动作平缓。她不需要闭眼也能确认——他就在她面前。
“——它响了。”
墨渊的嘴停了一瞬,咽下去。“——谁?”
“一个假的。”
她抬起手,戒指边缘的金光正在以不规则的间隔闪烁——快两下,停半秒,再快一下,再停。像一段复制的音轨在播放时出现了丢帧。
“——他已经在测了。”墨渊放下碗,“在伪造一个和我心跳波形相近的信号,试着接入你的戒指。”
“他在远距离测试?”
“远距离。他还没落地,但已经把第一段伪造波形投过来了。”
“他能接入吗?”
“不能,验证协议会自动拦截。但——”
林溪已经站了起来。她走到吧台边,把手机翻过来。金色弹窗上多了一行实时日志:
【检测到异常信号:波形匹配度78.3%·验证结果:不通过·已拦截。】
下面跟了一行灰色小字:
【建议:提高心跳验证灵敏度阈值至95%以上。】
“——匹配度78.3。”林溪念出来。“如果他继续调校波形,把匹配度推到95以上——”
“验证通过,他开始模拟接入。”
“模拟接入之后能做什么?”
墨渊从灶台上跳下来,走到她脚边。“——接入之后,他能通过伪造信号在你戒指里制造‘假心跳’。每一次你的戒指自动验证时,假信号会优先于真信号被读取。”
“——那我每次听心跳的时候——”
“——你会先听到他的伪造版本。”
林溪低头看着戒指。它还在闪。不规则,但频率正在以肉眼不可见的速度缓慢调整——像有人在远处拧一根旋钮,一格一格地推近。
“——他现在匹配度多少?”
墨渊蹲在她脚边,尾巴贴平,低头看着她的戒指。“——你戒指里显示的那条数据,你可以自己读。闭眼,把注意力集中在闪光的间隔上。”
林溪闭眼。
戒指的闪光频率在她意识里变成了一个有形的数字——79.1%。比她刚才看的时候涨了零点八个百分点。
“……他一直在调。”
“他在微调。每一次波形发送都会比上一次更接近。”
林溪睁开眼。“——多长时间之后会到95?”
“如果他现在正在连续发送测试波形——大约四到六小时。”
四到六小时。
现在是下午一点。
“——那我们在这四个小时里做什么?”
墨渊的尾巴在她脚踝上贴了一下。“——你练习。”
“练习什么?”
“练习在收到信号之后——不需要看戒指、不需要读数据——直接用感知判断它是真的还是假的。”
林溪看着他。“——你的心跳我能认出来。但我之前听到的时候——前提是你在我身边。如果伪造信号在你不在的时候进来呢?”
“——它会在戒指里制造一次脉冲。和正常通讯的触感完全一样。”墨渊顿了一下,“但真的那一次——你会感觉到一种‘压痕’。”
“压痕?”
“你闭眼的时候,把那道信号想象成一条线。真的那根线,线尾会回弹一次。假的那条,线尾是直的。”
林溪闭上眼。
她把手抬起来,戒指对着自己的眉心方向。墨渊蹲在她面前大约半米的位置,尾巴贴地。
“——我现在发一段真的过来。”
戒指上,一道金色的脉冲轻轻弹了一下。她感觉到了一条线——从戒指表面延伸出去,穿过她指腹的皮肤表面,向内沉了一瞬,然后尾端微微回弹,像一根被拉紧后松手的弦。
“——真信号。”
“——你怎么分出来的?”
“它回弹了。”
“假信号没有回弹。它只会一直向前延伸——像一条无限拉长的线。”
林溪睁开眼。“——那如果我收到假信号、但戒指自动验证通过了——”
“——你会在第一段假心跳被读取的时候感到不对劲。戒指的温度会比正常偏低半度。”
林溪低头。墨渊在看她。他的尾巴还贴着她的脚踝。
“——你试过?”她问。
“试过。”墨渊的声音极其平,“泽维尔上一轮测试的时候,我截到过一段他发的假信号。戒指温度降了半度。”
“——你没告诉我?”
“——你当时在接裴知回来。这件事不紧急。”
“现在紧急了?”
“现在他正在以每分钟一次的频率发送测试波形。四个小时后匹配度会推到95以上。”
林溪看了他一秒,然后低头看了一眼自己的戒指。
“……那我现在开始练。”
她闭上眼,把左手抬到面前。
第一段脉冲进来。线尾有回弹。真信号。
第二段。线尾直。假信号。
第三段。假信号。
第四段。真信号。
第五段。假。第六段。假。第七段——线尾极其微弱地弹了一下,像是被什么冲散了一部分。她睁开眼。
“——第七段怎么了?”
墨渊的尾巴尖微微翘了一下。“——第七段是百分之七十真的、百分之三十假的混合体。”
“——混合?”
“——他用真信号的波形为基底,在上面叠了一层伪装层。你感知到的那次回弹——是真信号本身带的。但回弹的幅度被压缩了。”
林溪低头看着戒指。“——如果回了弹但幅度不对——”
“——说明他正在测试‘混合波形’。纯伪造波形如果不能通过,他会在真信号的轮廓外面包一层假外壳。”
“——能这样操作?”
“能。只要他手里有一段被截获的真实通讯记录——”墨渊顿了一下,“他截到过我们在矿场那次通讯。”
林溪沉默了一瞬。“——他把那段通讯记录里的真信号拆出来——在外面包上一层假外壳——再发回来。”
“——对。”
“——那这是攻防两头同时走。一边调匹配度,一边做外壳。”
“——是。”
林溪重新闭眼。
第八段。回弹幅度被压缩了三分之一。假。
第九段。回弹幅度正常,但线尾在回弹之后多了一个微小的振荡。像一段被重复播放后磨损了的音频。
假。
第十段。回弹幅度正常,线尾干净。她等了两秒,没有振荡。
“——第十段是真的?”
墨渊的尾巴在她脚踝上贴了一下。“——第十段是我发的一段新的。用了我现在的心跳波形。”
“——他现在的心跳和你刚才的——不一样?”
“——我刚才心跳比现在快一点。”
“为什么?”
“——因为你连着判断错了两次之后——我有点紧张。”
林溪睁开眼。
他蹲在她面前,金黄色的眼睛没有躲开。他的尾巴还贴着她脚踝,没有动。
“……你紧张了。”
“——嗯。”
“——你第一次说你紧张。”
“……嗯。”
“——那我连错的那两次——你怕什么?”
墨渊的耳朵向后压了一度。“——怕你分不出来。”
她看着他。他的耳朵还压着,尾巴还贴着她脚踝,没有移开。
“……如果我分不出来——那条假指令进来了——绑定自检启动了——”
“——我会让你分出来。”墨渊说。
“你怎么让我分出来?”
“——我提前断掉所有通讯。不让你在戒指里听到任何声音。”
“——那就断了?”
“断了之后——我会蹲在你面前。你闭眼听我心跳的时候,什么信号都不会进来——只有我自己的那一颗。”
林溪没有说话。
她低头看着戒指——它还在闪。不规则,但频率已经比刚才稳定了一点点。80.7%。匹配度还在涨,但涨得比之前慢了。
“——他调校到多少了?”
“80.7。”
“四小时后会到95?”
“——可能更快。”
林溪站起来,走到窗边。窗外巷口的天还是蓝的,阳光照在对面修车厂的卷帘门上,金属面反出一片暖白色的光。
“——你不用断通讯。”
墨渊的耳朵竖了起来。“——什么?”
“你不用断掉通讯。”她回头看着他,“你继续发信号。我能分出来。”
墨渊蹲在原地,尾巴贴平,金黄色的眼睛里那一层光微微亮了一度。
“……你确定?”
“——我连错了两次之后,我记住了错的感觉。”
她走回灶台边。
“——你继续发。我继续收。”
墨渊蹲在原地没有动。但那条尾巴——从贴平的状态——极其缓慢地翘了起来,尾尖对着她的方向。
像一个正在重新确立方向的指南针。
林溪闭眼。
第十一段。
戒指里传来一段信号。线尾回了弹,回弹幅度正常,干净,没有振荡。她等了一秒。
——也没有别的附加信号。
“——真的。”
墨渊的尾巴翘高了一度。“——对。”
第十二段。混合波形。回弹幅度被压缩,线尾带磨痕。
“——假的。”
第十三段。纯伪造。线尾直。
“——假的。”
第十四段。回弹幅度完整,线尾干净,尾端还多了一小段极其轻微的——像脉搏一样细微的跳动。
她睁开眼。
“……第十四段——你加了什么?”
墨渊蹲在原地,尾巴翘着,金黄色的眼睛正对着她的方向。
“……我加了一点点我自己的脉搏。混在心跳后面。”
“——你什么时候加的?”
“——刚才。”
“——你临时调的?”
“——临时调的。”
“——为什么?”
“——因为我刚才那一段,发出去之前想了一下你。”
林溪的手在吧台边缘停了一瞬。
“……想了我什么?”
“……想了一下你昨天说‘正好分得清’的时候。”墨渊的尾巴尖极其轻微地晃了一下,“然后我加了一点东西进去。如果你能感知到那段脉搏——那以后每一次信号里,我都会加一段不一样的。”
“——加什么?”
“——加我当时在想的事情。”
她看着他。他也看着她。距离大约一米。戒指在闪——匹配度81.2%,但她的注意力已经不在那行数字上了。
“……如果你在想晚饭呢?”
墨渊的耳朵微微动了一下。“——那信号尾端会带一段不规则的起伏,像锅铲翻面的声音。”
“——如果你在想明天的计划呢?”
“——尾端会平一些,像一条被压直了的线。”
“——如果你在想——算了。”
她没有说完。但他接上了。
“……如果我在想你——尾端会有一个回旋。”
林溪低头看着自己戒指上那道光。它还在闪,但她已经不需要看数据了。
她重新闭上眼。十五段。十六段。十七段。
每一段进去,她都能在信号末端感知到一个极微小的附加形状——有时候是一个回旋,有时候是一段不规则的起伏,有时候是一条被压直了的线。
她不用睁眼。
她也能认出他。
窗外的阳光从正午移向了下午。戒指里的匹配度跳到了83.5。她还在闭眼。
墨渊蹲在她脚边,尾巴翘着。
他的尾巴尖,在每一次她成功辨认之后——都会极其轻微地、朝她的方向转一度。
像一面正在缓慢校准的旗。
傍晚六点。
林溪睁眼。
她数了——今天下午,她收到了六十七段信号。其中四十七段是假的,十四段是混合的,六段是真的。
六段真的信号尾端,每一段都带着一个不一样的附加形状。
有一个回旋。有一段起伏。有一条压直的线。还有一个——尾端微微卷了一下,像一个还没完全成型的字。
那半个字,像一个“等”。
她看着他。
他蹲在她脚边。
“——第最后一加了个什么?”
“……等。”
“等什么?”
“等你睁开眼。”
林溪把戒指在灯光下转了一下。
匹配度——83.5。比四个小时前预估的涨得慢。泽维尔在匹配度推到83之后明显放缓了调校速度。
“——他卡在83了?”
“——83是一个阈值。超过83之后,每调高一个百分点都需要更长的时间。他现在可能停在了某个部署阶段——在准备第三批测试波形。”
“——他下一次发来的时候,匹配度会跳多少?”
“——可能直接跳到90以上。”
林溪把手机翻过来看了一眼时间。傍晚六点十分。
她走到灶台边,打开冰箱。
“——先吃饭。”
墨渊蹲在灶台上,看着她从冰箱里取出青菜、豆腐、一盒冷饭。
“……你晚上还练吗?”
“练。你发。我收。”她把豆腐切成块,放进油锅里,“——你加你的回旋。”
墨渊的尾巴在灶台边缘轻轻扫了一下。
“……嗯。”
油锅里的豆腐正在被煎成两面金黄。
窗外的天色正在从浅蓝变成深蓝。
戒指还在闪——匹配度83.5,已经稳定了将近半个小时。
泽维尔的测试波形停了。
像一只正在瞄准的手——在扣动扳机之前,最后一次修正了准星。
林溪把豆腐盛进盘子里。
她看了一眼戒指。
又看了一眼灶台上那只猫。
“……他在等。”
墨渊的尾巴贴平了。
“……他在把匹配度推到95以上的那段路程——一次性走完。”
“——什么时候?”
“——可能今晚。也可能——”
他的话断在嘴里。
她的戒指——在灶台灯光下——忽然猛地亮了一瞬。
那种亮度不是正常通讯。不是心跳验证。
是一整段波形被完整加载后直接投送到戒指表面的亮度。
匹配度——91.7。
林溪低头看着戒指。
墨渊的尾巴已经绷直了。
“……他来了。”
林溪把锅铲放下。
“……你先别说话。”
她闭上眼。
戒指里,一道信号正在涌入。
线尾带着回弹。回弹幅度完整。干净。没有振荡。
末端——带了一个回旋。
那是他的信号。
她刚要睁眼——
第二道信号进来了。
一模一样。
回弹幅度完整。干净。没有振荡。
末端——也带了一个回旋。
完全一致。
两个一模一样的信号,同时出现在她的戒指通道里。
墨渊的尾巴在她脚踝上贴了一下——那是他的尾巴。
但戒指里,有两颗心跳。
一颗真的。
一颗假的。
——泽维尔把匹配度一次性推到了94.2。
他用了一段完整的真信号外包层,把假的波形藏了进去。
然后他发了两次。
两次完全相同的信号。
一次是复制的。
一次是伪造的。
林溪站在原地。
墨渊的尾巴还贴着她的脚踝。
戒指里两颗心跳还在同时跳。
窗外,巷口的天色正在从深蓝变成墨黑。
她闭着眼。
她分不出来。