加密|解析区块链中的核心技术哈希(Hash)算法

作者:崔利民
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式 。 区块链的关键技术组成主要为:P2P网络协议、共识机制、密码学技术、账户与存储模型 。 而这些技术中 , 又以哈希(Hash)算法最为核心。
一、区块链中的核心技术哈希(Hash)算法
哈希算法是区块链中用的最多的一种算法 , 它被广泛的使用在构建区块和确认交易的完整性上 。
它是一类数学函数算法 , 又被称为散列算法 , 需具备三个基本特性:
其输入可为任意大小的字符串 。
它产生固定大小的输出 。
它能进行有效计算 , 也就是能在合理的时间内就能算出输出值 ,
如果要求哈希算法达到密码学安全的话 , 我们还要求它具备以下三个附加特性:
碰撞阻力 。 是指对于两个不同的输入 , 必须产生两个不同的输出 。 如果对于两个不同的输入产生了相同的输出 , 那么就说明不具备碰撞阻力 , 或是弱碰撞阻力 。
隐秘性 。 也被称为不可逆性 , 是指 y = HASH(x)中 , 通过输入值x , 可以计算出输出值y , 但是无法通过y值去反推计算出x值 。 为了保证不可逆 , 就得让x的取值来自一个非常广泛的集合 , 使之很难通过计算反推出x值 。
谜题友好 。 这个特性可以理解为 , 谜题是公平友好的 , 例如算法中 y = HASH(x) , 如果已知y值 , 想去得到x值 , 那就必须暴力枚举 , 不断的尝试才能做到 , 并且没有比这更好的办法 , 没有捷径 。
二、https加密解析
https加密主要作用有三个:一是通过证书等信息确认网站的真实性;二是建立加密的信息通道;三是数据内容的完整性 。 https向来是非常安全的 。 这是因为https证书属于SSL证书 , 运用了非常安全的加密计算方法 。 https的加密原理是公开密钥加密使用一对非对称的密钥 。 一把叫做私钥 , 另一把叫做公钥 , 前者是只有自己能够使用的不能外传的 , 而公钥则可以随意发布 , 任何人都可以获得 。 公钥加密的话 , 对于信息的加密性是非常有保障的 , 而且对方收到被加密的信息后 , 再使用自己的私钥进行解密 。 对称加密 。 有流式、分组两种 , 加密和解密都是使用的同一个密钥 。 例如:DES、AES-GCM、ChaCha20-Poly1305等 。 非对称加密 。 加密使用的密钥和解密使用的密钥是不相同的 , 分别称为:公钥、私钥 , 公钥和算法都是公开的 , 私钥是保密的 。 非对称加密算法性能较低 , 但是安全性超强 , 由于其加密特性 , 非对称加密算法能加密的数据长度也是有限的 。 例如:RSA、DSA、ECDSA、 DH、ECDHE 。
【加密|解析区块链中的核心技术哈希(Hash)算法】三、https加密与哈希算法的关系
将任意长度的信息转换为较短的固定长度的值 , 通常其长度要比信息小得多 , 且算法不可逆 。 例如:MD5、SHA-1、SHA-2、SHA-256 等 。 数字签名就是在信息的后面再加上一段内容(信息经过hash后的值) , 可以证明信息没有被修改过 。 hash值一般都会加密后(也就是签名)再和信息一起发送 , 以保证这个hash值不被修改 。 通过这样 , 就完全不需要担心泄露了 , 也不必担心密钥被攻击者窃听而盗走 。 所以这就是https加密的相关过程了 , 可见https加密的安全性是非常高的 。 https加密最大的作用就是保证了网站的数据传输的安全性 。 从而能够保证网站使用者的隐私 , 因此来使得网站的安全性大大提高 。 在https的安全加密之下 , 能够做到向服务器传输的数据如用户名 , 密码等都是经过加密的 , 无法被窃取和篡改 。
哈希算法是区块链中保证交易信息不被篡改的密码机制 , 是区块链中三大核心最为核心的技术 , 其核心价值在于通过网络技术实现交易活动的点对点、去中心化、记录信息不可篡改的目的 。

    推荐阅读