公钥与私钥和加签与验签

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了公钥与私钥和加签与验签相关的知识,希望对你有一定的参考价值。

在公司查问题时遇到一个关于公钥与私钥和加签与验签的问题,当时不太明白,后来弄明白了感觉挺有意思的,所以想分享一下。

  为了说明问题,假设现在有a,b,c三家公司,彼此都有业务往来。

  假设a,b公司都会向c公司发送报文,而c公司为了能够保证报文的安全性便会给a,b公司一个公钥(不是什么公司都能向自己发报文的,必须是自己指定的公司才可以),自己会有一个对应的私钥,而a,b公司在向c公司发送报文时就可以使用c公司提供的公钥对报文进行加密(公钥主要用来进行加密),当c公司取得报文后就会使用自己的私钥对报文进行解密(私钥主要用来解密),如果解密成功则表示该报文是正确的,可以进行接收(这就是公钥与私钥的使用)。

  然而当c取得了报文后,a和b公司都可以向自己发送报文,那怎么判断这个报文是a的还是b的呢,这就要用到加签与验签了。

  为了能够表明自己的身份,a或b公司便会向自己的报文里边加入一个签名,同时都会给c公司一个自己的公钥用于对自己的签名进行解密用的,于是当c公司得到报文后,假设使用a提供的公钥对报文中的签名进行解密,如果解密成功则说明该报文是a公司提供的(这样便证明了身份)。

 总结:公钥与私钥是用来加密与加密的,加签与验签是用来证明自己身份的。

以上是关于公钥与私钥和加签与验签的主要内容,如果未能解决你的问题,请参考以下文章

Python中rsa模块sign 加签验签的使用

百付宝支付通道加解密和加签验签总结

RSA对数据进行加签和验签

对加签验签的理解

Java实现RSA密钥对并在加解密加签验签中应用的实例

RSA公钥加密,私钥解密,私钥加签,公钥验签