第17章 哈希算法
0810点了点头:“是啊,你做不到,我也做不到,因为哈希算法本来就是验证原始数据是否被篡改的重要手段。”
事实上,它的作用不止于此。它可以提高存储空间的利用率,还可以提高数据的查询效率,也可以做数字签名来保障数据传递的安全性。
是啊,就是这么一个重要的东西,现在0810告诉张琛言,它出了问题。
张琛言深呼吸一口气,他刚刚知道一个非常好的消息,紧接着0810就带来了一个如此糟糕的消息。这究竟是什么幸运守恒定律,他可以选择退订吗?
可张琛言也明白,现在不是矫情的时候。
半分钟后,他对着0810说道:“好了,你可以继续讲了。是这套算法出了问题,还是我们使用的时候出了问题,这跟R城有什么密切关联吗?”
可能也只有0810可以忍受张琛言这样密集性提问式对话了,她一一回应道:“这套算法已经使用了这么多年,之前从未出现过这种现象,是不是我们使用时候产生的问题,目前还在排查中,这不仅跟R城有关,现在也不仅跟数字世界有关,根据推断,它很有可能跟整个元宇宙都有关。”
闻言,张琛言的一颗心跌入了谷底。
跟整个元宇宙有关,这就意味着不管是物理世界还是数字世界,所有的一切都无法逃脱。
他没有想到,这件事情会蔓延得这么广,如果他们当初再晚发现一段时间,那后果还真是……
“具体是什么问题,说说吧。”张琛言冷静了下来,语气平稳。
“哈希碰撞。”0810认真道,“有人调高了哈希碰撞的概率。”
“你在开玩笑?”张琛言下意识说道,
所谓哈希碰撞是指,两个不同的输入得到了相同的输出。
张琛言明白,哈希碰撞是一定会出现的,因为输出的字节长度是固定的,String的hashCode()输出是4字节整数,最多只有4294967296种输出,但输入的数据长度是不固定的,有无数种输入。所以,哈希算法是把一个无限的输入集合映射到一个有限的输出集合,必然会产生碰撞。
碰撞不可怕,大家担心的不是碰撞,而是碰撞的概率,因为碰撞概率的高低关系到哈希算法的安全性。一个安全的哈希算法必须满足:不能猜测输出;碰撞概率低。
不能猜测输出是指,输入的任意一个bit的变化会造成输出完全不同,这样就很难从输出反推输入,只能依靠暴力穷举。
当然,暴力穷举可比古法炼金的难度要高多了,一般稍微有点智商的人都不会选择这样的方式。
为了减少碰撞的概率,研发人员不断地寻找优良的哈希函数,同时也在找寻处理碰撞的方法。
开放寻址法中的线性探测、二次探测以及双重探测都是处理方式,当然还有链接法等等……
总而言之,每年都有很多相关的研究在进行。
元宇宙不是一朝一夕建造而成的。
相反,它是发展的,发展的过程中也会出现各种各样的问题,人类也在不断地努力解决这些问题。
“我们研究并且使用了这么多年的哈希算法被人为地提高了碰撞概率?有人在故意做这件事,并且还成功了?”张琛言简直想笑,他不明白背后做这件事的人究竟在想什么,图什么?
他们一直都在努力避免,研究了那么多的处理方法,谁知道还有人背后捅刀子。
“我们也想不通对方的动机。”0810语气有些无奈。
“搞乱整个元宇宙,对什么人最有利?”张琛言试图从这个角度出发进行思考。
“你是说保守派,还是我们AI?”在这个问题上,显然0810很敏感。
“你作为AI,或者说你身边的AI,有人希望与人类为敌吗?”张琛言反问道。
0810垂眸:“可你们人类不是很喜欢设想这种剧情吗?有坏东西想要占领地球,统治人类。”
张琛言不知道该如何回复,毕竟这种类型的小说或者影视作品他自己也看到过不少,最后他只能转移话题:“哈希算法的碰撞概率被提升,很多安全性问题都不能被保证,我总觉得这或许跟重复ID有什么关系,毕竟这样的话,我们调查起来的难度会增加不少,调查进度也会延缓。”
谁知,0810似乎在刚才那个问题上格外执着,听到张琛言这么说,立马接了一句:“如果这件事情跟重复ID有关,那大概率就不会和AI有关了,毕竟重复ID只会出现在人类身上。”
“受害者和受益者还不明确,目前下这样的定论是不是为时过早?”张琛言望向0810。
最终,0810本着科学严谨的态度,只能更改了一下说辞:“是的,现在都只是猜测而已。是AI搞得也有可能,毕竟我和我身边的人不能代表全体AI。”
闻言,张琛言也妥协道:“没错,人类也有嫌疑,毕竟人类本身就千奇百怪,出一两个疯子也不算什么大事。”
“疯子?”0810开口问道,“科学狂人吗?”
张琛言仔细地斟酌了一下,随后答道:“我更喜欢你刚才的形容——坏东西。总而言之,就是一些脑子不太正常的家伙。”
“那疯子呢?怎么区分?”0810抛出另一个问题。
“执着于某件事,或者心理状态不太稳定?”张琛言尝试着回复。
“那你算疯子吗?”0810认真试探。
张琛言果断摇头:“我们入职前可是要做心理测验的,而且是多方位,好几轮,入职之后也会定期测验,我可以保证自己心理健康。”
0810点了点头,紫檀色的眼睛直直地望向张琛言,开口说道:“那恐怕你很快就要疯了。”