1)公钥用于加密(私钥解密)。
这种场景是向特定的人发送秘密信息,所以消息加密后,只有私钥的拥有者才能解密。
2)公钥用于解密(私钥加密)。
这种场景是向公众发布一个签名。要求任何人都可以对加密之后的信息进行解密,所以要使用公钥来进行解密,解密之后的数据如果符合预期则证明私钥拥有者处理过了签名数据。如区块链上每个节点都需要处理其中一个节点发起的交易,发起交易的这个节点通过自己的私钥给交易数据加密,其他节点可以通过它的公钥进行解密,然后处理交易
公钥和私钥都可用于加密和解密
公钥和私钥都可以用于加解密操作,用公钥加密的数据只能由对应的私钥解密,反之亦然。虽说两者都可用于加密,但是不同场景使用不同的密钥来加密,规则如下:
1、私钥用于签名、公钥用于验签
签名和加密作用不同,签名并不是为了保密,而是为了保证这个签名是由特定的某个人签名的,而不是被其它人伪造的签名,所以私钥的私有性就适合用在签名用途上。
私钥签名后,只能由对应的公钥解密,公钥又是公开的(很多人可持有),所以这些人拿着公钥来解密,解密成功后就能判断出是持有私钥的人做的签名,验证了身份合法性。
2、公钥用于加密、私钥用于解密,这才能起到加密作用
因为公钥是公开的,很多人可以持有公钥。若用私钥加密,那所有持有公钥的人都可以进行解密,这是不安全的!
若用公钥加密,那只能由私钥解密,而私钥是私有不公开的,只能由特定的私钥持有人解密,保证的数据的安全性。