【回声档案 · 第 1 层 · 已解出 71.4% · 密钥:无(沿用卫星电视纠错码)】
第 1 层给我们的东西,一共 4.2 秒。
按 25 帧、隔行、每帧两场算,105 帧。其中 61 帧是雪花,标准的高斯噪声,直方图对得上任何一台没接天线的电视机。有效画面 44 帧,全在末尾。第 62 帧起,噪声从画面右下角退开,退得很规矩,像有人从底下往上揭一张纸。第 92 帧到第 105 帧最清楚:一张播报台的左半边,一只手的一截,桌沿一个台标,和播报台背后那面大屏的下缘。
我们把这 44 帧拆成 88 场,逐场存了 tif,编号从 A-001 到 A-088。佟在白板上写"取证"两个字,下面画了三栏:天文、文字、编码。他写完把笔盖扣上,说,谁也别越栏。
老宋领了天文那栏。
背后那面大屏上定着一张照片:太阳被遮掉大半,缺口朝左下,前景是一排输电塔,四座,塔身之间的间距在画面里是均匀的。老宋把 A-081 那一场放到 400%,用像素尺量了两天。他不用软件量,他用软件截图,打印出来,再拿一把三十厘米的塑料尺趴在桌上量,说这样手上有数。
第三天他把结果贴出来。食分 0.86 到 0.89,取 0.87。日面被遮部分的边界曲率反推出月影视角半径,误差带很宽。太阳中心距地平线 21.5 度上下。月影的方位角,从缺口方向定,偏差正负 4 度。塔的排列走向大致东偏北。
"这些量出来只能定一件事,"他说,"这张照片是在地球上拍的,纬度大概在北纬二十几度到三十几度之间。"
"然后呢。"
"然后我把 canon 里能查的日食都过了一遍。"他手边压着一沓打印纸,边角卷了,"从今年到二一〇〇年,中心食带经过那个纬度带、当地时间下午、食分落在 0.85 到 0.89 之间的,一共两次。二〇七九年四月十日,一次日环食。二一一六年三月二日,一次日偏食。"
阿德巴约在后面问:"哪个更像。"
"二〇七九年那次,三项全对。二一一六年那次,太阳高度差一点七度。"老宋顿了一下,"一点七度不算大。但我量了四遍,四遍都差一点七度。"
第四天他又找了一条独立的路。照片里那四座输电塔在地上有影子,影子在画面里只剩下末端一小截,压在一道路肩上。他假定塔是标准的三十五米单回路直线塔,按影长和塔高的比值反算太阳高度,得到 20.8 度。
"跟前面那个 21.5 差 0.7。"他说,"两条路子各有各的毛病,凑在一起,二一一六那次更难说得通。"
"你还是没做掉那一点七度。" "我没做掉。"老宋说,"我把它从一条变成了两条。两条互相不打架,这就是我能给的。"
他把塑料尺放回抽屉,抽屉里还躺着一把他儿子考驾照那年用的车钥匙备用件,钥匙上的塑料壳裂了。
小高领了文字那栏。
大屏下缘还挂着一条滚动字幕,字高在画面里只有九个像素,糊成一片灰。小高把 A-084 到 A-088 这五场对齐叠加,做了一次超分,又把结果拿去和字体库里 46 种黑体做匹配。最后他认出九个字,其中两个不太肯定。
九个字是:浦南岸限行解除三日。
"'浦南岸',前面缺一个字。"小高说,"我查了区划表。全国带'浦'的县级以上地名十一个。'临浦'是其中一个,现在是县,不是市。字幕里前面那个残笔,横起笔,右边收得很快——'临'的可能性最高。" "那就是说,四十年后临浦升市了。" "这一条不可判。"小高说,"我列了 41 项可查的。用字规范 12 项,标点习惯 9 项,量词 6 项,货币写法 4 项,行政区划 7 项,时间格式 3 项。40 项和现行标准一致。剩下那一项是'临浦'。"
他把清单钉在白板上。清单最后一行他自己写了一句话,字很小:要伪造这一条,得先编一部地名志,还得让它和现在这一部接得上。
台标那一栏归了阿德巴约,因为台标注册号里有校验位。
桌沿那个台标是常见的圆角矩形,底下压着一串很细的数字,六位加一位校验。前六位他不肯说是什么规律,只说落在序号增长曲线的外推带里,四十年,不长不短。校验位他算了两分钟。
"过。"他说。 "算法你确定是现在这一版?" "这一版一九九八年定的,改过两次,改的都是长度,没改多项式。"他把笔转了一圈,"要么它抄了一份现行规范,要么它抄了一份四十年后的规范,而四十年后那份,跟现在这份的多项式一模一样。你选。"
佟那两天在忙另一件跟画面无关的事。
上个月的台账里有三个编号是空的:六号机的 0417、0418、0419。空的原因谁都知道——那三天机器在做馈源改造,没数据,值班的人图省事没填"无",直接跳过去了。所里的规矩是宁可写"无"也不能空,编号一空,往后所有的引用都要错位。
现在这三个空编号成了麻烦。因为我们要把第 1 层的取证材料挂进台账,挂上去要引用原始记录号,而原始记录号从空缺处往后全部对不上。
佟自己拿了一支笔,把上个月的值班记录一页一页补,补到凌晨一点。他不是补内容,他补的是"无"。写一个"无",签一个名,盖一个日期。他一共写了三个"无"。
"要不重新编一遍,一了百了。"小高说。 "重新编一遍,"佟说,"那以前所有引过老号的文件就都成了假的。"
他把那本记录合上,放进柜子。柜子门关不严,得抬一下。
那天下午热水停了。锅炉房换管道,通知贴在食堂门口,说停三天。我们值班室里那只铝壶只能烧半壶,泡面得两个人排队。小高蹲在洗手间用凉水冲他的搪瓷缸子,冲了很久,说这缸子是他爷爷的,掉了一块瓷。
信号那天走到第 19 级台阶。03:11:44,不早不晚。功率上去了,别的什么都没动——带宽还是两百赫兹,同步头还是那个 0x47,包长还是 188 字节。它像一个每天来同一个窗口交表的人,表格填得工整,从不多写一句。
叶蓁那边出的事,比这三栏都要大。
第 1 层的末尾附着一张目录表。第 3 章我们刚解出来的时候,只知道它是一张表:十六个条目,每个条目 64 字节,字段分得很清楚——层号、体量、下发速率、密钥提示指针,还有一个 4 字节的字段,我们当时以为是校验,因为它全是 FF。
叶蓁把十六个条目按字段列成矩阵,一列一列看。她看东西的样子像在给书上架,手指沿着行走,走到哪一列停一下,嘴里念一声编号。
"十六个条目,那个 4 字节字段全是 FF。"她说,"十六个都是 FF。" "保留字段呗。" "保留字段一般写零。"她说,"而且它的位置不对。层号、体量、速率、指针,前面这些都是按'描述这一层怎么读'排的。这个字段插在体量和速率中间。它不描述怎么读,它描述这一层是什么。"
她把手指停在那一列上。
"这不是没有年份。是年份位被写成了保留值。"她说,"就像有人拿一本日历,把每一页上印年份的那一小块撕掉,月份留着,日期留着,星期留着,礼拜天还是红的。你拿到手,什么都能用,就是不知道是哪年。"
会议室里没人说话。老录像机在角落里亮着,那台机器的时钟一直快十一分钟,谁都不去调。
"撕得很整齐。"周砚生说。这是他那天说的第一句话。
我们把三栏的结论并在一张纸上,交上去的时候是发现后第十九天。
周砚生开了个会,会开得很短。他把老宋那沓打印纸、小高那张 41 项清单、阿德巴约的校验位记录,还有叶蓁的字段矩阵,一样一样看过,中间他拧了一下保温杯,没拧开,把杯子往边上推了推,接着看。
"日食那一条。"他说,"二一一六年三月二日,差一点七度。老宋,你能把这一点七度做掉吗。" "我做不掉。"老宋说,"我能说它更像二〇七九。" "更像不是证据。" "是。" "那就写'两个候选,倾向前者'。"周砚生说,"以后有更多帧,回来再压。"
他把四份材料摞齐,装进一只黄色档案袋,袋口的线绕了三圈。然后他让佟把那块 4T 的硬盘拿来——原始基带、解出来的 105 帧、所有中间产物,都在上面。
佟捧着盘站在桌边,等着。
周砚生打开墙角那只保险柜。那柜子是所里九十年代的老货,门上有一道漆掉了的划痕,转盘转起来咔咔响。他把硬盘放进去,把黄色档案袋压在上面,关门,转盘拨了两圈。
"从今天起,这块盘在这里。"他说,"要用,登记,两个人一起开。" "周老师,"阿德巴约说,"那我们分析什么。" "分析副本。副本不许出所。" "这跟锁不锁有什么区别。" "区别是,"周砚生说,"证实它是伪造之前,它不存在。"
他把手从转盘上拿下来,看了看我们。
"我说的是对外。"他说,"对我们自己,它每天早上三点十一分四十四秒都存在一次。这两件事不打架。"
佟举了一下手,举到一半又放下。
"周老师,上面要不要报。" "报。" "报到哪一级。" "按进度表。"周砚生说,"进度表上这个月该报的是'疑似人工窄带信号,来向仙后座,正在排除本地干扰'。这句话到今天为止,每一个字都是真的。" "那日食那一条呢。" "日食那一条不在这个月的进度表上。"
佟没再问。他在本子上记了一行,记的时候笔尖顶穿了纸。
散会的时候快十点了。走廊灯一半是坏的,另一半按声控,得跺一脚。
那天我值后半夜。
值班室里就一台工作站在跑积分,风扇声很稳。父亲那台红灯牌摆在桌角,我把它打开,波段旋钮拧到 7.2 兆,没有台,只有沙沙。他生前的规矩是先听十分钟沙沙再找台,说这样耳朵才准。我以前觉得这是懒得调台的说法。
窗外有人在停车场发动车,发了三次才着。
十二点半,我给家里打电话。响了六声,接的是林念,声音是被喊醒的那种,一层一层地醒。
"妈妈。" "你怎么没睡。" "睡了。"她说,"老师说我第三小节的跳音太重了,要弹得像有人在踮脚。" "那你踮一下试试。" "我在床上。" "那明天。" "明天你回不回来。"
我说了一句什么,具体说的是什么我后来想不起来了。她那边先挂的,挂之前听筒里有一下很响的塑料声,她把手机掉在了地上。
手机屏上还亮着我下午按掉的那两个未接来电,都是钢琴老师的。短信在下面:林念妈妈您好,四月十一号周六上午汇报课,家长可以来听,孩子想让您来。
我把手机翻过来放在桌上,屏幕朝下。
沙沙声里有一段特别厚,像有人在很远的地方翻一张塑料布。父亲有一年冬天在这个频率上收到过一个女声报数,报到七就断了,他在波段本上记了一行:不知何台,女声,报数,止于七。字是铅笔的,笔尖太尖,把纸划破了一点。
我没有再想下去。
工作站在三点零四分弹了一个窗口。第 1 层的密钥提示指针,指向的那一小段,解出来了。
这一段是佟前天布的活儿:目录表里第 2 层的条目,密钥提示指针指到层尾的一块 512 字节。前面我们只解出结构,解不出内容。这次自动跑通了。
我把它打开。
512 字节里,前 12 字节是一串 ASCII,明码,不带校验:
`1987/TV/CN`
后面是 496 字节的二进制。我做了一次频域变换,看出来了:那是一段音频指纹。16 个时间片,每片 31 个梅尔带的能量比值,量化到 8 位。1.2 秒。
我没有原声,指纹反不出声音。我只知道,这 1.2 秒里有人说了一句话,说话的人是中国人,说话的时间是一九八七年,说话的场合是电视剧。
我知道第 2 层的锁是什么了。它要的不是密码,是那句台词,一个字一个字打进去,一九八七年,某部电视连续剧里,某个人说的那句话。
我把结果存下来,编号 B-001。然后我在值班记录的备注栏里写了一行:
第 2 层密钥提示已解,明码 1987/TV/CN,附 1.2 秒音频指纹一段,内容为一九八七年国产电视剧台词一句,待检索。
写完我看了一下表,三点十一分。四十四秒的时候,第 23 级台阶上来了。