区块链知识个人总结(一)哈希函数与密码学

密码学中的哈希函数

三个性质

1.collision resistance

个人理解为抵抗哈希碰撞的性质,即能将人为制造哈希碰撞的效率降至非常低下,或者说不可能发生有效的人为制造哈希碰撞的性质。

理解a:这个算法无法被证明。
只可以在长时间的实践中证实。因为源文件可以是真正意义上的无数种,而哈希之后得到的哈希值一定会有穷尽。所以单纯的数学方法无法证明

理解b:这个算法不一定一直有效:。
比如说以前使用的MD5就被视为有这个性质,但是通过数学方法证明了可以人为操作制造哈希碰撞,所以现在MD5被剔除了这个性质。比特币中采用的为SHA-256。

它的作用:
a.用来检测消息是否经过篡改。
如果对源文件进行改动,那么它的哈希值一定会发生不可预知的变化,只要与之前的哈希值进行对比就会发现消息是否存在异常。同时,因为哈希过程不可预知的特性,我们无法做到修改完的部分的哈希值和原来一定相同。绝大概率和以前的哈希值结果相去甚远

2.hiding

个人理解为哈希函数本身的过程不可逆
在这里插入图片描述
理解a:X本身的取值范围一定要大且平均。要不然通过简单地穷举就可以得到哈希值进行比对,哈希的存在的意义就被削弱了

它的作用:
a.不可逆的计算使得H(x)可以作为数据进行公布而其中的X不会被人得知。适用于不能提前公开的某种结果X,可以提前公布H(X),同时由于上面的collision特性可知X不可修改。具体应用一般和其他特性联用

3.puzzle friendly

个人理解为
要得到一个想要的哈希值,就必须需要很大的重复工作来计算出所需要的哈希值。

理解a:挖矿的过程本身就是再求一个特定区域内的哈希值,而这个特性的存在使得工作量证明机制更加好用

理解b:挖矿本身的计算量非常高,但是进行验证的却十分简单,只需要计算一次X的哈希值看其是否符合条件即可

它的作用
a:增强pow,简化验证

公钥和密钥——非对称加密

非对称加密即加密和解密在同一种算法当中不可逆

非对称加密的信息传递当中的工作原理:
1、A要向B发送信息,A和B都要产生一对用于加密和解密的公钥和私钥。
2、A的私钥保密,A的公钥告诉B;B的私钥保密,B的公钥告诉A。
3、A要给B发送信息时,A用B的公钥加密信息,因为A知道B的公钥。
4、A将这个消息发给B(已经用B的公钥加密消息)。
5、B收到这个消息后,B用自己的私钥解密A的消息。其他所有收到这个报文的人都无法解密,因为只有B才有B的私钥。

个人理解:
在这里插入图片描述
公钥与私钥更具体的可以看这篇博客
小白从零开始学习区块链的个人笔记(二) 初识比特币分布式系统

发布了9 篇原创文章 · 获赞 0 · 访问量 398

猜你喜欢

转载自blog.csdn.net/weixin_45067603/article/details/105540879