区块链加密技术

一、加密技术的介绍

加密算法一般分为对称加密和非对称加密,非对称加密指为满足安全性需求和所有权验证需求而集成到区块链中的加密技术。非对称加密通常在加密和解密过程中使用两个非对称的密码,分别称为公钥和私钥。非对称密钥对具有两个特点:一是用其中一个密钥(公钥或私钥)加密信息后,只有另一个对应的密钥才能解开。二是公钥可向其他人公开,私钥则保密,其他人无法通过该公钥推算出相应的私钥。

非对称加密一般划分为三类主要方式:大整数分解问题类、离散对数问题类、椭圆曲线类。大整数分解问题类指用两个较大的质数的乘积作为加密数,由于质数的出现具有不规律性,寻找破解只能通过不断的试算。离散对数问题类指的是基于离散对数的难解性,利用强的单向散列函数的一种非对称分布式加密算法。椭圆曲线类指利用平面椭圆曲线来计算成组非对称特殊值,比特币就使用此类加密算法。

非对称加密技术在区块链的应用场景主要包括信息加密、数字签名和登录认证等,其中信息加密场景主要是由信息发送者(记为A)使用接受者(记为B)的公钥对信息加密后再发送给B,B利用自己的私钥对信息解密。比特币交易的加密即属于此场景。数字签名场景则是由发送者A采用自己的私钥加密信息后发送给B,B使用A的公钥对信息解密、从而可确保信息是由A发送的。登录认证场景则是由客户端使用私钥加密登录信息后发送给服务器,后者接收后采用该客户端的公钥解密并认证登录信息.

以某币系统为例,其非对称加密机制如下图所示:某币系统一般通过调用操作系统底层的随机数生成器来生成256位随机数作为私钥。比特币私钥的总量大,极难通过遍历全部私钥空间来获得存有比特币的私钥,因而密码学是安全的。为便于识别,256位二进制形式的比特币私钥将通过SHA256 哈希算法和Base58 转换,形成50个字符长度易识别和书写私钥提供给用户。某币的公钥是由私钥首先经过Secp256k1椭圆曲线算法生成65字节长度的随机数。该公钥可用于产生比特币交易时使用的地址,其生成过程是首先将公钥进行SHA256和RIPEMD160双哈希运算生成20字节长度的摘要结果(即Hash160的结果),再经过SHA256哈希算法和Base58转换形成33字符长度的比特币地址。公钥生成过程是不可逆的,即不能通过公钥反推出私钥。某币的公钥和私钥通常保存在比特币钱包文件,其中私钥最为重要。丢失私钥就意味着丢失了对应地址的全部比特币资产。现有的比特币和区块链系统中,根据实际应用需求已经衍生出多私钥加密技术,以满足多重签名等更为灵活和复杂的场景。

你可能感兴趣的:(区块链加密技术)