非对称加密中公钥

链客,专为开发者而生,有问必答!

此文章来自区块链技术社区,未经允许拒绝转载。

在这里插入图片描述

数字签名是公钥密码体系中签名验证功能的一个应用。其目的是保证信息传输的完整性、发送者的身份认证、防止交易中的抵赖发生。其中数字签名是个加密的过程,数字签名验证是个解密的过程。其原理首先要理解非对称加密和消息摘要。

非对称加密中公钥是公开的,如果用公钥解密,只能开解对应私钥加密的内容,因此,私钥也可以认为是个人身份的证明。如果通信双方需要互发消息,那么应该建立两套非对称加密的机制(即两对公私钥密钥对),发消息的一方使用对方的公钥进行加密,接收消息的一方使用自己的私钥解密。

消息摘要可以将消息哈希转换成一个固定符长度的值唯一的字串。值唯一的意思是不同的消息转换的摘要是不同的,并且能够确保唯一。该过程不可逆,即不能通过摘要反推明文。利用这一特性,可以验证消息的完整性。

数字签名就是非对称加密和消息摘要的组合,具体过程如下:

假设现在有通信双方A和B,两者之间使用两套非对称加密机制。

现在A向B发消息。

那么,如果在发送过程中,有人修改了里面密文消息,B拿到的密文,解密之后得到明文,并非A所发送的,信息不正确。这就要解决如下两个问题:

A的身份认证

A发送的消息完整性 那么就要用到上面所讲的基础知识。

为了解决上面两个问题,数字签名的过程如下图:

简单解释:

A:将明文进行摘要运算后得到摘要(消息完整性),再将摘要用A的私钥加密(身份认证),得到数字签名,将密文和数字签名一块发给B。

B:收到A的消息后,先将密文用自己的私钥解密,得到明文。将数字签名用A的公钥进行解密后,得到正确的摘要(解密成功说明A的身份被认证了)。再对明文进行摘要运算,摘要比对一致说明消息没有被篡改(消息完整性)。

猜你喜欢

转载自blog.csdn.net/weixin_44172023/article/details/93166989