纯干货分享第九期:什么是哈希算法?什么是非对称加密?
Posted 刘三万
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了纯干货分享第九期:什么是哈希算法?什么是非对称加密?相关的知识,希望对你有一定的参考价值。
什么是哈希算法?
哈希算法可以说是密码学的基础,也是理解比特币的一个重要概念。
比特币的主要特点就是不可篡改性,是一种只能加密,不能解密的密码学算法,这一点正是由哈希算法所达到的。
哈希算法,简单说就是将任意数据都转换成一个固定长度的字符串。通过哈希后的值几乎无法推导出原文。而且两个不同的原文哈希后结果一定不同。
也可以把哈希值当做是文件指纹,因为它是文件唯一性的标志,与每一个字节都有关,当文件发生改变时,指纹值也会改变。
哈希算法保证了比特币挖矿不能逆向推导出结果。所以,矿工持续不断地进行运算,本质上是在暴力破解正确的输入值,谁最先找到谁就能获得比特币奖励。
什么是非对称加密?
理解非对称加密前需要先理解对称加密即传统加密方式!
相必大家都看到过古代人飞鸽传书,一个人想要吧信息发出去但不希望别人看到,就需要用一种加密算法吧信息做一个处理,这样收到信息的人可以通过约定的解密规则来进行解密出传递信息这就是对称加密。
但是有一种情况如果鸽子被截获,那么被劫信息中就可能泄漏出加密算法,顺藤摸瓜抓到人,这就需要对加密算法再加密,然后重新约定加密规则,进入死循环...
当需要多人传递加密信息的时候保存和传递密钥就更比较麻烦,每次协商一个密钥,复杂性更高,同时也有更大安全性的风险,如果一个人的密钥泄露,那么整个群体的加密方式就失效了。而非对称加密,顾名思义就是加密与解密的过程不是对称的,不是用的同一个秘钥。
非对称加密有个公私钥对的概念,也就是有两把秘钥,一把是公钥,一把是私钥,一对公私钥有固定的生成方法,在加密的时候,用公钥去加密,接收方再用对应的私钥去解密。
使用时可以由接收方生成公私钥对,然后将公钥传给加密方,这样私钥不会在网络中传输,没有被窃取的风险。
当然非对称加密也有一个问题,就是内容在发送前可能被篡改,因为公钥是有可能被窃取的,所以窃取者完全可以改为发送别的内容。
解决的办法就是数字签名。数字签名和非对称加密是反过来的,也是有公私钥对,但是是用私钥签名,用公钥去验证签名。
比如发送方除了发送用公钥加密后的密文,还要发送签名,签名内容通常是密文哈希后的字符串,接收方首先验证签名是否正确,如果正确那么密文解密后就是真正需要并且没有被篡改过的内容。
注意,签名和非对称用的是两对不同的公私钥。
以上是关于纯干货分享第九期:什么是哈希算法?什么是非对称加密?的主要内容,如果未能解决你的问题,请参考以下文章