如题所述
第1个回答 2022-07-04
RSA又叫非对称加密算法,这类加密算法有2个秘钥,你可以选择一个作为私钥(自己保存,重要),另一个作为公钥(对外公开,谁都可以知道)。其中用私钥加密的内容只能用对应的公钥解密,同理用公钥加密的内容也只能用对应的私钥解密。
假设A生成了一对秘钥,私钥自己保存,公钥对外公开,且B获得了A的公钥。在A和B通信的过程中:
A向B发送信息:A用自己的私钥加密,B可以用其公钥解密;
B向A发送信息:B用(A给的)公钥加密数据,A可以用自己的私钥解密;
这样就保证了数据的安全传输;但是这中间存在问题,如果B向A发送数据的过程中被C拦截了,且C也获得了A的公钥,这样C就可以用公钥重新加密一份数据发送给A,这样就篡改了B发送给A的数据。为了辨别这种情况,就要说到数字签名的作用了。
因为在数据传输过程中有可能被篡改,因此我们要使用数字签名技术来校验发送方的身份,并且事后发送方无法抵赖。这里还以A和B为例,来看下数字签名的主要过程:
数字签名是什么?
假设A生成了一对秘钥,私钥自己保存,公钥对外公开,且B获得了A的公钥。在A和B通信的过程中:
A向B发送信息:A用自己的私钥加密,B可以用其公钥解密;
B向A发送信息:B用(A给的)公钥加密数据,A可以用自己的私钥解密;
这样就保证了数据的安全传输;但是这中间存在问题,如果B向A发送数据的过程中被C拦截了,且C也获得了A的公钥,这样C就可以用公钥重新加密一份数据发送给A,这样就篡改了B发送给A的数据。为了辨别这种情况,就要说到数字签名的作用了。
因为在数据传输过程中有可能被篡改,因此我们要使用数字签名技术来校验发送方的身份,并且事后发送方无法抵赖。这里还以A和B为例,来看下数字签名的主要过程:
数字签名是什么?