区块链基础知识——哈希函数

概述

哈希函数是一种数学函数,可根据输入的内容输出其对应的哈希值。散列函数的输入具有任意长度,但输出始终具有固定的长度。

 哈希算法的设计

散列算法的核心是一个数学函数,该散列函数构成散列算法的一部分,根据输入的数据块进行运算,得到的结果作为散列值。散列算法涉及多轮散列函数,每一轮都会接受一个固定大小的输入。这个过程会重复尽可能多的轮次来散列整个消息。

第一个消息块的哈希值会成为第二个哈希算法的输入,其输出改变了第三个运算的结果,依此类推。这种效应称为散列的雪崩效应。雪崩效应会导致两条数据的散列值大不相同。即使是一个数据位的变化,也会造成很大的差异。

 散列函数的应用场景

1.数字签名:

     数字签名用于验证数字消息或文档真实性,并保证信息的内容没有没有被第三方人员进行篡改。在满足先决条件的情况下,信息的收件人能通过数字签名确认信息的发放方的身份,保证信息真实由对应的发件方进行发送(真实性),通信信息的内容是生成数字签名的结果重要因素,一旦内容发生改变,数字签名会发生很大的变化,可以验证信息的内容是否发生了变化(完整性)。

数字签名采用用户的私钥加密,公钥进行解密,用户使用自己的密钥通过签名算法生成数字签名,公钥的验签过程是通过验证算法来验证数字签名签署的身份。

 2.数据完整性

根据哈希函数的单向以及碰撞避免的特点,能够在不暴露文件内容的条件下生成输入文件的映射,选择一个好的哈希算法,我们能够完全相信哈希函数生成摘要的准确性。如果发送前后文件的哈希值不同,就可以说明文件被进行了篡改操作。

——————————————————————————————————————————

更新记录

猜你喜欢

转载自blog.csdn.net/qq_53633989/article/details/127918224