美文网首页草叶集区块链深脑浅谈
一分钟读书俱乐部:《区块链技术驱动金融》系列(三)哈希函数的碰撞

一分钟读书俱乐部:《区块链技术驱动金融》系列(三)哈希函数的碰撞

作者: 全职高手一叶之秋 | 来源:发表于2018-12-14 14:11 被阅读132次

    原文精选:以下面的哈希函数为例:

    H(x)=x mod 2256

    这个函数接受任何长度的输入,产生一个固定大小输出(256位),且能进行有效计算,因此符合我们对哈希函数的要求。但是对于这个函数,我们确实具备一个有效的能够寻找碰撞的方法。注意,这个函数仅返回输入的最后256位,因此,数值3和3+2256就构成了碰撞。这个简单的例子表明,虽然我们的一般碰撞测试方法在实践中不可行,但至少对于某些哈希函数,存在有效的测试碰撞的方法。

    但对于某些哈希函数,我们无法确认识别碰撞的有效方法是否存在,我们只是怀疑这些函数具有防碰撞特性,但是我们已经证明,世界上没有哈希函数具有防碰撞特性。我们实践中依赖的加密的哈希函数仅仅是人们经过不懈努力之后暂未成功找到碰撞的函数。因此,我们选择相信那些加密的哈希函数具有哈希阻力(在某些情况下,如之前的MD5哈希函数,在多年的努力之后最终找到了碰撞,导致该函数在实践中被逐渐淘汰,最终被弃用)。

    读书笔记: 1,对于某些哈希函数,存在有效的测试碰撞的方法。

    2,已经证明的是:世界上没有哈希函数具有防碰撞特性。

    3,我们所依赖的加密的哈希函数只是暂时没有找到碰撞的函数,不代表不能破解


    应用:信息摘要


    原文精选:现在我们知道什么是碰撞阻力了,我们自然会问:碰撞阻力有什么用途? 以下就是一个应用:哈希函数H具有碰撞阻力,x和y是两个不同的输入,那么可以假设它们的哈希函数H(x)和H(y)也不同——如果已知x和y不同,但哈希值相同,那么H具有碰撞阻力的假设就不成立了。这个论证使我们可以将哈希输出作为信息摘要(message digest)。以SecureBox为例,SecureBox是一个允许用户上传文件,并保证文件被完整下载的线上文件存储系统。假设爱丽丝上传了很大的文件,并希望能够在之后下载时确认她下载的文件与她上传的文件相同。一种方法是将整个文件进行本地存储,并直接将其与下载文件对比。如果这样可行,那么将文件上传便显得毫无意义,倘若爱丽丝需要使用本地文件副本以保证其完整性,她可以直接使用本地副本。

    这里的哈希函数对于一个信息生成固定长度的摘要,或生成了简明总结,这为我们提供了一种记住之前所见事物,并在今后认出这些事物的有效方法。虽然整个文件可能非常大,存储规模达数G,但其哈希值的长度固定。例如,哈希函数为256位。这样做,极大地降低了存储要求。在本章后面及整本书中,我们都会看到哈希作为信息摘要的应用。

    读书笔记: 1,碰撞阻力使我们可以将哈希输出作为信息摘要(message digest)。

    2,即便是几个G的存储容量,只要把256位的哈希函数作为信息摘要,就可以大

    大降低存储要求。


    原文精选:无碰撞哈希函数为这个问题提供了简单有效的解决方法,爱丽丝只需要记住原文件的哈希值,从SecureBox下载文件后,她可以计算下载文件的哈希值,并与原文件哈希值进行对比。如果哈希值相同,那么爱丽丝可以说该文件就是她上传的那一个,但是如果不同,她则可以确定文件被破坏了。记录哈希值可以帮助爱丽丝检测文件在传输过程中,或在SecureBox服务器上是否产生了意外损坏,或者检测文件是否受到服务器的蓄意修改。保证主体不受其他实体的恶意行为侵害,这正是密码学的核心。

    读书笔记: 1,无碰撞哈希函数即碰撞阻力使我们只需对比哈希值,相同的话就证明文件就是上传的那一个。

    2,哈希值帮助我们检查文件有没有遭到篡改或者破坏

    3,保证一个主体不受其他主体的恶意侵害,就是密码学的核心。


    一叶之秋带你一分钟速读经典书籍,每天一分钟(只需阅读读书笔记部分),天天获新知。


    一叶之秋——非著名股票分析师

    CCTV证券资讯频道特邀分析师

    币乎,币问内测作者;区分节点分析师

    金色财经,币世界专栏作家

    《区块链编年史》 《区块链重塑未来》系列作者

    量价时空战法体系,一分钟读书俱乐部创始人

    公众号:区块链项目评测

    007er

    相关文章

      网友评论

      本文标题:一分钟读书俱乐部:《区块链技术驱动金融》系列(三)哈希函数的碰撞

      本文链接:https://www.haomeiwen.com/subject/ozcghqtx.html