袁晔:哈希和非对称加密—《区块链思维》第26块
Posted 袁晔V
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了袁晔:哈希和非对称加密—《区块链思维》第26块相关的知识,希望对你有一定的参考价值。
两个概念,没有直接关系,必须澄清。
哈希算法是一个计算公式,也叫哈希函数,这个函数有很多种,主要目的是数据映射,但与非对称加密里面用到的加密算法不同。
特点有四个:
1、单向,不可逆:就是在现有超级计算机的运算能力下,相对有限时间内(100年)不可逆
2、任意长度信息经过哈希函数的输出结果是固定长度:再多的文字输出都是固定字节长度,对于提取摘要非常便捷,减少了数据传输量
3、计算时间短:再多的文字,运算时间都能接受
4、不同输入有不同输出:任意两个输入在数学理论上都存在经过函数运算后结果一样的可能,出现一样的结果就叫做“碰撞”,哈希函数就是为了0碰撞。
先列出几个常见哈希武器系列:
MD系列:MD2、MD4、MD5,本系列出现过碰撞
SHA系列:SHA-1、SHA-224、SHA-256(比特币用的)、SHA-384、SHA-512;尚未碰撞过
还有,CRC系列,FNV系列,HAVAL系列,Tiger等。
哈希函数在区块链里应用的场景有如下:
1、每个区块中,对所有交易数据进行加密,并生成Merkle树(这个概念此处略过)
2、计算一个区块中所有交易的哈希值并且比对本区块的Merkle根值,一致就可以判别本区块的交易信息未被篡改
3、矿工挖矿:每个区块都有一个随机数,矿工通过尝试不同的随机数来改变整个区块的信息,此时区块头的其他信息是不变的,比如:难度系数,版本号,上个区块的哈希值;区块主体数据不变,矿工对整个区块进行哈希函数运算,得出一个哈希值,此哈希值要求满足区块头的难度系数(一般是哈希值的前10或者20位为零),这时选出的随机数就是有效随机数,此时挖矿成功。
我去,为了说明白哈希,快累死了。
非对称加密比较简单,有一个公钥,有一个私钥,成对出现,有数学上的关系,用到的算法是ECC(注意听课,这个不是哈希函数!)
应用场景如下:
1、加密数据传输:你把自己的私钥保护好,把公钥给对方,对方用公钥加密文件生成密文,对方将密文传给你,你用私钥解密得到明文,完毕!目的是内容不被别人看到。
2、数字签名:用来证明我的文件发给对方过程中没有被篡改。你保护好自己的私钥,对方拿着你的公钥,你用私钥把明文加密为密文,明文和密文都传给对方,对方用公钥对密文解密得到明文并与你给的明文对比无误,证明传输通道安全,目的是内容不被别篡改!
以上是关于袁晔:哈希和非对称加密—《区块链思维》第26块的主要内容,如果未能解决你的问题,请参考以下文章