作者/雪穗
编辑/Never
出品/星传媒
加密,简而言之就是借助一种或多种算法将明文信息转换成密文信息,信息的接收方通过密钥对密文信息进行解密获得明文信息的过程。根据加解密的密钥是否相同,加密算法可以分为对称加密、非对称加密和对称加密和非对称加密的结合。而在区块链数据加密中最常当属哈希算法和非对称加密两种加密手段。
区块链中的哈希算法
哈希算法(Secure Hash Algorithm,SHA)是区块链数据加密应用最多、最常规的算法之一,它是由美国国家安全局研发包括SHA-0、SHA-1、SHA-2和SHA-3等系列密码哈希函数,被广泛使用在构建区块和确认交易完整性方面,以输入任意长度字符串,输出固定长度字符串信息。而以区块链中最常见的 SHA-256哈希算法函数为例,需具备以下四种特性才能满足区块链加密需求:
1. 正向固定:输入任意长度字符串,而只能输出固定统一字符串(hash 值)。
2. 逆向困难:给定(若干)hash 值,在有限时间内很难(基本不可能)逆推出明文。
3. 输入敏感:原始输入信息作丝毫修改,产生的hash 值完全发生改变。
4. 冲突避免:很难找到两段内容不同的明文,使得它们的hash 值一致(发生冲突)。
加密过程如图所示
非对称加密
在聊到非对称加密之前,我们先聊聊什么是对称加密,以便于我们更好理解非对称加密。
对称加密是指加密和解密使用同一个密码,通过相关证件密钥可找回,此项过程是可逆的。
对称加密过程图示
而非对称加密,使用公钥对信息进行加密,解密信息却只能使用私钥,私钥可以生成公钥,而公钥是无法推导出私钥,此项过程是不可逆的。若私钥一经丢失密文信息无法找回。与对称加密相比,其安全系数更高,其缺点是加密和解密花费时间长、速度较慢。
非对称加密图示
加密是如何实现的呢
用户(发送方)通过哈希函数对想要加密信息进行哈希处理,输出一个全网唯一、固定长度字符串信息,同时利用公钥对信息进行签名加密并上传到区块链网络。
接收方则利用接收到的公钥对信息进行解密处理,若对比明文一致,那么接收方就能确认传输的文件并未受到篡改,是安全可信的,即可进行下一步处理。
区块链加密图示
目前,在区块链信息保护中,需同时使用哈希算法和非对称加密完成信息加密工作,相信随着科技进步,未来基于密码学加密技术将不断被挖掘完善,造福大众。