在一些系统之间的在线交互中,非对称加密算法经常用于签名/验证、加密/解密。 一些开发人员可能不太清楚是用公钥签名、用私钥签名、用公钥加密还是用私钥加密:
请记住:
1、私钥签名、公钥验证签名
2、公钥加密、私钥解密
另一方面,签名/验证签名(发起方对自己发送的消息用自己的私钥进行签名,接收方在接收到消息后用发送方的公钥进行验证签名。
为什么要用私钥签名,而不是用公钥签名?
签名/合同的作用主要是为了验证请求的合法性,也就是说可以识别发送方的合法性。 那只能用发送方自己的私钥签名。
二、加密/解密:发起方用接收方的公钥加密,接收方用自己的私钥解密。
为什么要用公钥加密,而不是用私钥加密?
正因为是机密信息,所以才需要加密,必须保证加密的信息,之后收件人才能解密,所以必须使用私钥解密。 如果用秘密密钥解密,用公开密钥解密的话,就会认为是加密了信息而公开。