经常看到类似的说法:公钥[私钥]一般用来加密,私钥[公钥]一般用来解密。也一直没有仔细去考虑,只是留下了一个用于加密,另外一个用于解密的印象。用公钥加密的数据,只有用私钥才能解密。用私钥加密的数据,也只有公钥才能解密。
昨天看书时,又遇到了这个问题,仔细思考之后,才发现公钥与私钥都可以用来加密,他们的应该场景同样都很常见和很重要,它们公别用于加密与签名。
1)公钥用于加密(私钥解密)。
这种场景是向特定的人发送秘密信息,所以消息加密后,只有私钥的拥有者才能解密。
2)公钥用于解密(私钥加密)。
这种场景是向公众发布一个签名。要求任何人都可以对加密之后的信息进行解密,所以要使用公钥来进行解密,解密之后的数据如果符合预期则证明私钥拥有者处理过了签名数据。