区块链加密-非对称算法

151 阅读2分钟

特点

非对称加密通常在加密和解密过程中使用两个非对称的密码,分别称为公钥和私钥。

非对称密钥对具有两个特点:一是用其中一个密钥(公钥或私钥)加密信息后,只有另一个对应的密钥才能解开。二是公钥可向其他人公开,私钥则保密,其他人无法通过该公钥推算出相应的私钥。

使用

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

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

注意上述三种场景加密的不同之处: 信息加密是公钥加密,私钥解密,确保信息的安全性;数字签名是私钥加密公钥解密,确保数字签名的归属性;登录认证私钥加密,公钥解密。