区块链的加密技术
时间: 2020年10月3日                     分类: 区块链技术 标签:

区块链技术的应用和发展,数字加密技术是关键。一旦破解了加密方法,就将挑战区块链的数据安全性,并且区块链的不变性将不复存在。加密算法分为对称加密算法和非对称加密算法。在区块链中,主要使用非对称加密算法。根据不对称加密算法所基于的难题,通常将其分为三类:大整数分解问题,离散对数问题类,椭圆曲线类。

一、区块链加密技术简介

加密算法通常分为对称加密和非对称加密。非对称加密是指集成到区块链中以满足安全要求和所有权验证要求的加密技术。非对称加密通常在加密和解密过程中使用两个非对称密码,称为公钥和私钥。非对称密钥对具有两个特征:一个是在使用一个密钥(公共密钥或私有密钥)对信息进行加密之后,只有另一个对应的密钥可以被解锁。第二个是可以将公开密钥公开给他人,同时将私有密钥保密,并且其他人不能使用该公开密钥来计算相应的私有密钥。

非对称加密通常分为三种主要类型:大整数分解问题,离散对数问题和椭圆曲线。大整数的分解问题是指使用两个较大质数的乘积作为加密数。由于质数出现的不规则性,只有通过不断的试验计算才能找到解决方案。离散对数问题类是指基于离散对数的难处理性并使用强大的单向哈希函数的非对称分布式加密算法。椭圆曲线类别是指使用平面椭圆曲线来计算一组特殊的不对称值,比特币使用这种类型的加密算法。

区块链中的非对称加密技术的应用场景主要包括信息加密,数字签名和登录身份验证。

(1)信息加密方案主要是发送者(表示为A)在将信息发送给B之前先使用接收者的公开密钥(表示为B)对信息加密,而B使用自己的私钥解密信息。比特币事务加密属于这种情况。

(2)数字签名方案是发送方A使用自己的私钥对信息加密,然后将其发送给B。B使用A的公钥对信息解密,以确保信息由A发送

(3)登录身份验证方案是客户端使用私钥对登录信息进行加密,然后将其发送给服务器。服务器接收到该信息后,便使用客户端的公钥对登录信息进行解密和身份验证。

请注意以上三种情况之间的加密区别:

信息加密是公钥加密和私钥解密,以确保信息的安全性;数字签名是私钥加密和公钥解密,以确保数字签名的所有权;登录身份验证私钥加密和公钥解密。

以比特币系统为例。其非对称加密机制如图1所示:比特币系统通常通过调用操作系统底部的随机数生成器来生成256位随机数作为私钥。 比特币私钥的总量很大,并且很难遍历整个私钥空间以比特币来获得私钥,因此加密是安全的。为了便于识别,将通过SHA256哈希算法和Base58将256位二进制比特币私钥转换为易于识别和写入用户的50个字符的私钥。 比特币的公钥是私钥通过Secp256k1椭圆曲线算法生成的65个字节的随机数。公钥可用于生成比特币事务中使用的地址。生成过程是首先对公钥执行SHA256和RIPEMD160双重哈希运算区块链的技术,以生成20字节的摘要结果(即Hash160的结果),然后经过SHA256。希腊算法和Base58转换形成一个33个字符的比特币地址。公钥生成过程是不可逆的,也就是说,不能从公钥推导出私钥。 比特币的公钥和私钥通常存储在比特币钱包文件中,而私钥是最重要的。丢失私钥意味着丢失相应地址的所有比特币资产。在现有的比特币和区块链系统中,已根据实际应用需求推导了多私钥加密技术,以满足更灵活,更复杂的场景,例如多签名。

这里写图片描述