当前位置:首页 >资讯 >RSA加密算法签名与验签


RSA简述了加密算法的过程

A与B进行加密通信时,B首先,生成一对密钥。一个是公钥,给它,给它。A,B持有自己的私钥。A使用B的公钥加密发送的内容,然后B通过自己的私钥解密内容。

想要B发消息,A将首先计算消息摘要,然后使用自己的私钥加密摘要加密,最后发送加密的消息摘要和消息B,加密信息摘要是“签名”。

RSA加密算法签名与验签

B收到消息后,也会用与A相同的方法提取消息摘要,然后用A的公钥解密A发送的签名,并与自己计算的消息摘要进行比较。如果是一样的,这意味着消息是A发送给B的,A也不能否认自己给B发信息的事实。

其中,A用自己的私钥加密信息摘要“签名”;B使用A的公钥解密签名文件的过程称为“验签”。

数字签名的作用是保证数据的完整性、机密性和发送人角色的不可抵赖性

以下是签名和验证过程的简要描述

签名过程:

1.A计算消息m的消息摘要记为h(m)

2.A使用私钥(n,d)对h(m)加密,生成签名s,s满足:

s=(h(m))^dmodn;

因为A用自己的私钥加密消息摘要,所以只有使用s的公钥才能解密消息摘要,所以A不可否认他把消息发给了B。

3.A发送信息和签名(m,s)给B。

验签过程:

1.B计算消息m的消息摘要记为h(m);

2.B使用A的公钥(n,e)解密s,得到

H(m)=s^emodn;

3.B比较H(m)与h(m),相同则证明

以下简要总结了加密和解密的完整过程。

签名过程:

1.A提取消息m的消息摘要h(m),使用自己的私钥摘要h(m)加密,生成签名s

2.A用B公钥加密签名s和消息m,生成密文c,发送给B。

验证过程:

1.B接收到密文c,使用自己的私钥解密c获得明文m和数字签名s

2.B使用A公钥解密数字签名s解密得到H(m).

3.B用同样的方法提取消息m的消息摘要h(m)

4.B比较两条新闻摘要。相同的验证成功;不同的验证失败。