首页 基础 非对称加密算法

非对称加密算法

非对称加密算法简介

定义

非对称加密算法,也叫公钥密码算法。在区块链中的作用是:为交易加密,用于对交易发起、确认、签名、验证。

公钥密码算法是现代密码学发展过程中的一个里程碑。这类密码学算法需要两个密钥:公开密钥和私有密钥。因为加密和解密使用的是两个不同的密钥,另外,私钥可以推导公钥,而公钥不能倒推私钥,所以这种算法也叫做非对称加密算法。

特点

加密和解密使用的是两个不同的密钥;公钥是全网可见的,私钥只有信息拥有者才知道;私钥可以推导公钥,公钥不能倒推私钥。

用途

在发送信息过程中使用公钥加密私钥解密;

在数字签名过程中使用私钥签名(加密)公钥验证(解密)。

发送信息过程

公钥加密:发送方A用接收方B的公钥对信息加密,并将该加密后的信息传输到区块链网络。

私钥解密:接收方B用其独有的私钥对信息解密,从而确保信息获得传递的同时还保证信息的真实性。

数字签名过程

私钥签名:信息发布者用私钥对交易进行签名。用户发起交易时,用私钥对交易信息签名(加密),表明对交易具有所有权,并对真实性负责。

公钥验证签名:矿工用公钥对信息发布者的签名进行验证。矿工收到信息后,用公钥对签名进行验证(解密),若验证通过,则说明:第一,该信息是由特定的私钥的拥有者“签名”的;第二,该信息在签名后没有被改变过。那么,该信息可予以记录到区块链。

在比特币系统中,生成比特币地址的流程中也会用到公钥和私钥。

生成比特币地址流程

比特币系统随机产生一个随机数为私钥;

私钥通过Secp256k1椭圆曲线算法生成公钥;

公钥通过双哈希运算+Base58处理生成比特币地址。

私钥生成公钥过程所使用的Secp256K1椭圆曲线算法是一种单向加密函数,公钥生成比特币地址的过程中所使用的也是单向加密哈希函数。基于这些数学函数的密码学,使得生成数字密钥和不可伪造的数字签名成为可能。

相关推荐

返回顶部