晋江文学城
下一章 上一章  目录  设置

9、8 Disclosure > Dis ...

  •   > Disclosure:即“披露”,指将原本不可见的信息揭示出来。

      ------

      整个周末,周游连睡一次懒觉都没能如愿。

      东湖那边的水泵一到八点就开始轰鸣;他把耳朵紧紧闭上,那一阵阵低频噪声就像是钻进了脑子,非要把脑浆给他搅匀了。

      周一清晨,他猛地惊醒,水泵似乎还没开始运转,宿舍里只回响着王金朔的鼾声,像是钝掉的锯子不断划拉着木头。

      真是亲切又让人怀念的动静。周游长舒了一口气。

      他开始在床上不住翻滚,寻找着能再次入睡的姿势,好一番折腾,却如何也睡不着。于是疲惫地环抱着护栏,睡眼惺忪地看着对面陈嵩的床铺,叹了口气。

      对面的蚊帐后闪过一道锐利的精光。

      他本能地感觉到危险,浑身的毛都立起、炸开了。

      那是孟萩的目光——他这两天总是跟陈嵩挤一张床睡。想必是刚才翻来覆去的动静惊动了这位小祖宗。

      孟萩中学时拿过全国柔术比赛少年组冠军,周游也已切身见识过这只“小猫”的厉害了。此刻只是被瞪了一眼,已经感觉脖子被绞得发痛。他咽了口唾沫,小心翼翼地起身、下床。

      梯子“吱呀”一响,他赶紧停下动作,又回头看了一眼——似乎孟萩已经翻了个身——他松了口气,索性直接跃下,脚尖着地,没发出一点声响。

      他看了眼时间——还不到七点——忍不住又叹了口气,然后立马捂住嘴,用余光瞥了瞥陈嵩的床位。

      ------

      许可没想到,居然能在早晨七点半的食堂碰见周游。

      只见他上身还是和夏天一样,单穿着一件白色T恤。最近发起的冬毛让他显得宽了一圈,不知为何,今天的他比往常还要蓬松,像是被静电激得炸了毛。

      周游朝他招了招手,便去窗口点餐去了。坐到许可对面时,餐盘里装了两屉包子、两根油条和一大碗豆浆。

      “食欲有些不振啊。”许可看了看他餐盘调笑道。

      周游配合地叹道:“太早了,胃口还没开。”

      许可又问道:“怎么起这么早?还来海棠食堂了?”

      “这几天被抽水的声音吵得没睡成懒觉,今天反倒又睡不着了,”周游眼皮耷拉着,满脸倦容,“你不是也有早八嘛,干脆来看看能不能碰上你。”

      “难得你睡不着,”许可轻嗤一声,“我可是已经跑过步、洗过澡了。”

      周游一面把包子往嘴里塞,一面冲他比了个大拇指。

      “你这毛怎么回事?用了什么黑科技?”许可终于没捺住好奇。

      周游胡乱地抓了抓颊毛,又把脖子上的毛使劲往下压,一通忙活,并无改善。他叹了口气,继续吃饭,只说是“入秋了、有些干”。

      许可笑了笑,心想,临着海,有些干?面上却也懒得戳穿他这鬼话。

      吃完饭,周游给米莞打了个电话,又去打包了一份早餐。二人一同在食堂门口乘上了直通远航楼的公交车。

      车子驶过东湖时,周游忍不住探出头望了望。

      东湖的水位已经低了很多,估计不久便能见底,打捞行动或许就要尘埃落定。也不知是因为太早,还是大家失去了新鲜劲儿,警戒线外几乎没有围观的人了。

      周游刚在教室坐下。八点一到,抽水泵又开始轰鸣。

      ------

      天空有些发白,看不见什么乌云,天色却很暗淡,像是蒙了层纱,太阳也收敛了光华,缩成了一个小小的光点。

      窗外的树枝沙沙响个不停,悬铃木的叶子打着旋儿坠落。

      像是要下雨了。

      不知道若是来一场暴雨,会对东湖的打捞工作造成多大的影响?

      许可看了眼CQ,校群和学院群都开启了全员禁言。听周游说,他们转变者私下还有个群,最近围绕着转变者失踪的事儿、讨论得热火朝天。

      当真是说什么的都有。比如,上面想要把这件事伪造成自杀,缓解舆论压力;又比如,施琮可能是被同学所害,校内可能有个转变者仇恨组织。但最后,所有说法的落点都会回到东科大的隔离政策,和转变者在这个社会遭遇的不公对待。

      群里还有不少人把普通人称为“裸猿”,鼓吹着转变者是高级种群的言论。

      许可劝周游还是退群为好,免得沾上什么麻烦。也不知周游有没有听话。

      他又点开与刘琛的聊天,消息停留在他发出的、一个图像领域相关的专业问题——刘琛说过,任何问题都可以问他,等空闲时他会尽量解答。

      已经一天过去了,没有回复。想必他还不得空闲吧?

      他有好多话想与刘琛说,可仔细一想,两人不过点头之交,也不知该说些什么。或许,面对面时便会好些,总有些话会自然生出来。

      连续上了三节大课,从早上到下午,哪怕许可是自律铁人,也有些注意力涣散。

      终于熬到了下课铃响。

      周游和米莞下午三点三十五以后都没课,他便又预约了研讨室。经过两天的学习、讨论,连周游都已经入了数字图像处理的门。他想着,今天或许就能解开作业了。

      不知能否成为第一个提交的?

      怀揣着满腹心事,许可与周游、米莞在逸夫楼门口碰上了头。

      米莞问道:“要不今天把参考文献分一分,定位一下隐写算法?”

      这倒与许可的想法不谋而合。

      许可点了点头,转而又道:“不过,文献比较多。可能得先分析一下候选图片,确定大致的算法类别。”

      米莞也表示同意。周游没有意见——毕竟这对他来说,好比刚学了十以内的加法、就要上小升初的考试一般,没什么好期待的,也没什么好担心的。

      进了逸夫楼、通过闸机后,三人便不再交谈,默默乘电梯上四楼,穿过走廊、几经兜转,来到了角落里一处有窗的研讨室。

      研讨室里开着灯,还有一个女生正在收拾东西。想必是上一组租用者。

      那女生比许可高几公分,穿一件淡绿色衬衫,领口系着一条黄绿相间的丝巾;下身是一条橙黄色的长裙,搭一双黑色圆头小皮鞋。

      “海娅学姐。”许可打了声招呼。

      那女生回过身,正是迎新那日负责新生接待的大三学姐海娅。

      米莞看愣了神。只觉得这位学姐皮肤白皙、容貌姣好,一身穿搭也很相配。眼里是他人,却映得自己有些不堪——身体还未完全恢复,面色本来就差,出门时又赶着上早八没来得及好好拾掇。

      她下意识地伸手去抓周游手腕;周游却突然握住了她的手。

      海娅轻咬着下唇,眯起眼看着许可,像是在努力回忆眼前的人是谁。

      “我叫许可,”许可自我介绍道,“计科,大一的。”

      海娅轻轻敲了下自己额头,笑道:“瞧我这记性,还是我给你登记的。”

      她又看向周游:“这位我也有印象,吵着想跟你住一间宿舍的……你弟弟?”

      周游不好意思地挠了挠头。

      “算是吧……他叫周游,”说完,许可又指了指米莞,“这是米莞。他们俩都是通院,信安的。”

      海娅“哦”了一声,恍然大悟般点了点头:“许可、周游、米莞……我听时烁说,他很看好你们,没想到你们三个彼此还挺熟。”

      听到时烁的名字,米莞本能地心里发毛。

      海娅与三人简单寒暄了几句,便收好东西,把研讨室腾了出来。

      等海娅走远了,米莞忍不住感叹道:“海娅学姐长得可真好看,说话也很温柔。”

      周游弯腰,转头平视着她,笑道:“你也很好看啊。”

      米莞的脸瞬间红到了耳根,这才想起周游还拉着自己的手。

      看着周游的笑脸,她已经渐渐理不清自己那套转变者对亲密接触的认知理论了,琢磨不出周游此时的亲近究竟是有心还是无意。

      “你怎么了?”周游关切道,“手这么凉。”

      她赶紧挣出手,抽出椅子坐下,又从包里拿出笔记本,故作镇定。

      看着米莞这副扭捏模样,许可轻笑一声,一边把电脑连上研讨室的大屏,一边对周游说道:“米莞怎么说也是个女孩子,你别随随便便牵人家的手,跟个流氓似的。”

      周游刚在米莞身边坐下,闻言愣了愣,转头看了米莞一眼,张大嘴巴、如梦初醒般“哦”了一声。

      米莞不等他说话,抢先道:“没事啦,我知道你不是那个意思。”

      她本来还想说——“你就没把我当成女生”——却又心存侥幸,不愿为周游下了判断。

      周游连忙点头,看向别处,抬起手不住地理着颊毛。

      他的大手挡住了侧脸,米莞看不清他的表情。他紧贴着椅子靠背,尾巴从后面垂下来,耷拉着、一动不动。

      见二人消停下来,许可问米莞:“海娅学姐刚才说的时烁是谁?”

      “一个研究生学长,跟刘琛学长是一届的同门。他看了我上次发给刘琛学长的钓鱼复盘报告。”

      米莞想了想,又补充道:“我有点怕跟他打交道……总觉得,他让人很不自在。”

      许可一边敲击着键盘,一边笑道:“他怎么你了,让你不自在?”

      米莞觉得说不清楚。时烁平时还算热心,无端说他坏话也有些不妥。便摇了摇头,含糊蒙混过去。

      沉默了一会儿,米莞突然一拍脑门,说道:“我想起来了……我之前听人说起过那个海娅学姐。”

      许可把信息隐写作业中的参考文献压缩、发到了群里,撅了噘嘴,嗓子里发出一声音调上扬的“嗯”。

      “不过不是什么好话……多半是谣言。”米莞犹豫着要不要说。

      这倒又勾起了周游的好奇心:“你说说看呗。”

      “好吧……你们当八卦听就好,我觉得多半不是真的。”

      “有传闻说,海娅学姐……勾引……”米莞顿了顿,说出这个词让她有些别扭,“她闺蜜的男朋友,导致她闺蜜抑郁了。”

      “啊?”周游张大了嘴,一脸不可置信,“海娅学姐看着不像是那种人吧?”

      米莞一摊手,道:“我也觉得不是……据说,她那个闺蜜上学期在宿舍割腕了。不过还好,人还活着,暂时办了休学。”

      “还有人说,”许可接过话,“学校为了平息风波,给学姐预留了保研名额。因为她是在东体育场的一个巷子勾引的闺蜜男友,所以那条巷子,现在叫‘保研巷’。”

      说完,许可不屑地笑了笑:“学校为了平息风波,给海娅学姐保研——我想破脑子,都想不通这里面的逻辑。”

      米莞没想到许可也听说过这事儿。不过他与海娅学姐都是计科院的,男生宿舍里,多半也会传这种绯闻。

      “那个被‘勾引’的男友,”米莞补充道,“据说就是时烁学长。”

      许可敲击键盘的手停了一下,旋即嗤笑一声,摇了摇头。

      “还是抓紧时间干正事吧,”许可在大屏上平铺显示出一组照片,“这研讨室可不便宜,争取今天搞定。”

      “回顾一下目标,”他打开激光笔,扫过照片,“这里有十张照片,要找出包含隐写信息的两张,将提取到的信息、提取过程,和可复现结果的相关代码一并打包提交。”

      刘琛在课后说过,这次的作业并不容易,考虑到大家可能还需要补充相关基础,提交的期限是两周。

      周游问道:“琛哥没给你们留下什么提示吗?”

      许可回想了一下。快下课时,刘琛走上讲台将CQ班群二维码投到大屏上;等所有人进群后,又在群里发送了一个压缩包。

      便是这十张照片,包含五张风景照、三张人物写真和两张动物写真。

      在交待完相关事项后,刘琛还补充了一句——

      “他说——”许可说道,“这次的作业难度较大,但还是属于能够以常规方式扫描出异常的程度。”

      米莞说道:“常规方式的话……昨天我们检查了照片元数据,也按你说的,复现过了徐老师在课堂上展示的最低有效位隐写。”

      周游耸了耸肩:“都不对。”

      这算是意料之内的结果。许可说道:“虽然知道多半不会这么常规,但这些基本的方法都是有必要尝试的。”

      米莞表示赞同,转而说道:“徐老师展示的最低有效位隐写,本质上是‘画’出信息。像是在白纸上涂格子一样,用涂黑的格子连接成字。”

      周游配合地点了点头——这一段倒不难理解。

      米莞顿了顿,又道:“这种方法,对像素的利用率其实非常低。要知道,在计算机底层,文字也会被转化为二进制数。以ASCII为例,1字节就能表示所有英文字母中的任意一个。”

      “也就是说,其实可以把文字的编码藏进像素里。”许可接过话茬。

      “Bingo!”米莞打了个响指,“当然,肯定不能直接把字符编码写入像素,这会破坏图像的显示。但如果只修改极少的像素,其实并不那么容易被发现。或者,也许还可以将一个字符的编码分摊到连续的多个像素里,对每个像素的修改更加均匀,视觉上也不那么容易发现。”

      周游突然插嘴道:“那如果在一个通道上,用8个连续像素点的最低位、来编码1个字节,应该也能被称作‘最低有效位隐写’咯?”

      米莞伸手摸了摸他的头,笑道:“孺子可教也。”

      “原理一样,”许可补充道,“但编码一个字符所需要的像素数量,是远远少于绘制一个字符的。”

      许可往椅子里靠了靠,抬头看着那片灰白色的天花板,右手撑着桌沿,食指在桌面有节奏地轻轻敲击着。

      思索了一会儿,他突然有了些头绪。差不多同时,米莞也坐直了身子。

      米莞道:“你先说。”

      许可往前坐了些,开始敲击键盘,“如果是基于某种规则,对像素点的值进行编辑,很可能会改变图像直方图的分布。从直方图入手,这也很符合学长所说的,‘常规方式’。”

      很快,许可写了个脚本,直接把十张图、各自三个通道的直方图绘制出来,分了十行三列,一时看得清清楚楚。

      三人一同望向大屏。不一会儿,许可、米莞相视而笑。

      “等等,你们先别说,让我猜一下,”周游走到大屏前,抢先说道,“是这两张——”

      他所指的是两张风景照。一张是日出时的致远楼塔尖,浮光剪影;另一张是日落时的东湖石桥,金光穿洞。

      许可心中有所触动;米莞笑道:“怎么猜中的?”

      周游指了指那张日出照,蓝色通道的直方图。只见图中绝大多数像素的值都集中在235和237,却在236处出现了一个巨大的豁口。他又指了指那张日落照,现象类似,只不过这张图上的像素值集中在了0和2,豁口出现在了1处。

      “虽然我不太懂……咳咳,”周游清了清嗓子,“不过,其他的图,无论哪个通道,一组连续的整数值对应的像素数量变化都比较平滑。只有这两张的蓝色通道,两个峰值之间突然出现了一个几乎为0的采样缺口——这不太正常吧?”

      米莞冲他竖起大拇指,周游回以一个眨眼,又坐回她身边,问道:“那接下来该做点什么?”

      话音刚落,米莞和周游的手机同时一阵震动。二人掏出手机一看,是许可往群里发了几条消息,分别是他们各自的姓名、对应一个数字区间。

      “辛苦你们了,”许可说道,“这里有72篇论文,我已经能排除掉24篇了。接下来我们每人分16篇,只需要快速看标题和摘要,算法是否和‘直方图’直接相关。”

      他的语气不容拒绝。

      米莞比了个OK的手势,便打开了第一篇论文。

      周游最不喜阅读,看着文件夹里的十六篇英文文献,深吸一口气,瞪大眼睛,抬起头直勾勾盯着许可;许可却不看他,自顾自地忙活起来。

      周游虽然一百个不情愿,几分钟便发出一阵唉声叹气,却还是老老实实地翻看着论文。他英语最好,竟是第一个看完的。

      将近两个小时,三人筛选出了六篇候选;再深入阅读后,米莞最终锁定了名为《Reversible Data Hiding》的一篇。

      看过论文,许可便开始埋头写代码做隐写和提取的复现。米莞则在一旁给周游讲解原理。

      “我觉得很奇怪啊……”周游看着大屏上的直方图发怔,喃喃道,“这个隐写算法,就这么把破绽摆在直方图里了,会不会太低级了?”

      米莞拿笔在他头上轻轻一敲,道:“你别看到‘隐写’俩字,就觉得这是为了隐蔽通信。”

      “这个算法要解决的核心问题是,在传输图像的同时、传输附加信息;接收方在提取出信息后,还能恢复原始图像。可以用在医疗图像、执法取证图像,这类需要伴随额外信息传输的领域。”

      “这个算法,叫做‘直方图平移隐写’,”米莞打开Photoshop,随便导入了一张图片,一边展示、一边说道,“如果不考虑隐蔽通信,为了便于接收方提取载荷、还原图像——从直方图来看,你觉得应该选哪些像素点来承载信息?”

      周游沉思片刻,试探道:“选直方图里构成峰值的像素点吧……这张的话,就是值为132的像素点?”

      “对咯!”米莞继续说道,“值为132的像素点有超过53万个,那这些像素点就能承载53万比特的信息。”

      “我们用值为132的像素点表示0,用值为133的像素点表示1,就可以实现……”

      “等等,”周游打断道,“值为133的像素点表示1,不太对吧?图里原本就有大量值为133的像素点,会带来混淆吧?”

      米莞点点头,笑道:“反应很快,不过还可以想得更深入一些!”

      “你看这张图,”她指了指直方图中横坐标为255的位置,“255是零点,意味着没有值为255的像素点。那我只需要选择所有值大于等于133的像素点,将它们的值加1,不就把133这个值给腾出来了?”

      周游看着图,思索片刻,突然一拍脑门,道:“这就是‘平移’啊……哦对了,就是因为这样做了,直方图里的峰值后面才会跟着个豁口……”

      “也不太准确,”米莞纠正道,“在这个作业里,直方图会出现豁口,应该是隐写信息太短造成的。”

      二人又是一番深入讨论,毕了又闲聊了一阵其他隐写算法。快到8点时,许可才完成了脚本。

      周游、米莞凑到他左右两边,围着电脑,看着他敲击出执行命令,将那张日出照的路径作为了输入参数。三人同时屏住呼吸,等待着运行结果。

      很快,提取结果就写入了文件,并在命令行以十六进制的形式打印了出来。

      接着,许可打开了一个转码网站,可无论是尝试哪种编码,结果都是一串乱码。

      “这是……搞错了?”周游试探着问道。

      米莞说道:“别急,先看看另一张。”

      许可又执行了一次脚本,将输入文件换成了那张日落图的路径。

      又是片刻等待,继而对提取结果进行转码——依然不可读。

      许可将两张照片分别用脚本进行还原,虽然视觉上毫无差异,但直方图中的豁口都消失了。

      “提取应该没问题,”许可指了指两条信息中一段很长的公共子串,“这么大段的重合,不太可能是提取错误导致的巧合,倒有可能是密钥或者什么别的提示……将加密信息隐写,本来也是很正常的事。”

      米莞附和道:“应该是…那作业到这一步也算完成了吧?”

      周游听到“完成”二字,顿时有些兴奋,起身握拳、欢呼一声。

      许可点了点头,可是心里并没有预期的那般满足。

      像是费尽心力完成了一套1000片的拼图,最后却发现少了一块。他隐隐觉得,那最后一块并未缺失,只是被藏在了某处,还不断勾动着他。

      他重新翻看了一遍照片,陷入了沉思。

      “我感觉,这些照片里还有线索,”许可喃喃道,“或许,还可以进一步解密这两段信息……”

      ------

      许可急着回宿舍解密提取出的密文,便与二人在生活区的路口分了手,独自先回宿舍去了。

      一路上路灯昏黄,周游不放心,便陪着米莞往女生宿舍区走。

      大抵是这两天多的时间,学了很多知识,又帮许可完成了隐写信息提取,米莞好像心情不错,边走边哼着歌。

      看到她轻松的模样,周游也觉得开心。

      “没想到你跟我哥会这么聊得来。”周游说道。

      米莞抬起头,疑惑问道:“很奇怪吗?”

      周游耸了耸肩:“你呢,平时吵吵闹闹的,对别人又体贴、又客气;他呢,跟不熟的人半天憋不出一个屁、跟熟人十句话里只有两三句好听的。你俩,实在不像聊得来的样子。”

      米莞想了想,嘿嘿一笑,继续哼着歌往前走。

      “也许你很了解他。但是呢,你还不够了解我。”

      周游挠了挠头,看着米莞微微抬起双臂,摇摇晃晃走着直线。

      尽管每天见面,他对米莞似乎确实不够了解。

      比如,她的歌声很好听,排练时倾尽全力,却会在表演前怯场退缩。

      比如,她还有个转变者弟弟,似乎那个弟弟想要什么便能得到、不想要的便丢给她。

      又比如,她明明身体不适,也不会拒绝室友送的冷饮,哪怕知道会挨痛,都要喝掉。

      周游真的有些捉摸不透她。但一想到,日子还长,未来也每天都能与她相见,他又忍不住笑了起来,快步跟了上去。

      ------

      周二一早,一条热搜彻底引爆了躁动不安的校园。

      东湖的水几乎被抽干了,露出湖底沉积的淤泥。

      淤泥拖拽着一具瘦小的、肿胀的尸体。
note 作者有话说
第9章 8 Disclosure

  • 昵称:
  • 评分: 2分|鲜花一捧 1分|一朵小花 0分|交流灌水 0分|别字捉虫 -1分|一块小砖 -2分|砖头一堆
  • 内容:
  •             注:1.评论时输入br/即可换行分段。
  •                 2.发布负分评论消耗的月石并不会给作者。
  •             查看评论规则>>
作者公告
每周更新1~2章,每章6000~9000字 绝对不太监
……(全显)