公钥加密 私钥解密

2021-02-20 11:53发布

什么时候用公钥加密什么时候用私钥加密?

1.公钥加密私钥解密 为了 加解密

2.私钥加密公钥解密 为了 签名

 

通过私钥对自己的内容进行加密生成数字签名(这个私钥只有我才有),如果被公钥成功解开,能够证明内容是我发出去的(这时公钥用于验证数字签名)。

使用公钥加密,只有我的私钥才能解开,证明发给我的内容不希望被其他人看到(这时公钥用于加密数据)。

所以公钥私钥都可以用来加密解密,只是不同场景用法不同。

 

上面的场景中,公钥有被篡改替换的可能,无法证明公钥的来源(我不能确定通信的那一方是不是本人),这时候可以引入CA认证,证明公钥是合法的来源。或者通信双方各自持有自己的私钥和对方的公钥,通信的时候先用自己的私钥生成签名,再用对方的公钥对发的内容和签名加密,发送给对方,对方接收到之后用他的私钥解密获得数字签名,然后再用我的公钥验证数字签名,这样保证了数据的安全。

 

其实数字签名就是利用hash函数生成一个hash码

标签: