非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。
————————————————
版权声明:本文为CSDN博主「James-Tom」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/huangbin123/article/details/80106570
个人理解:A给B一把自己的锁子(公钥(开着的锁子)),B用A的锁子加密后信息后还给A,A用自己的钥匙(私钥)进行解密.反过来B也是一样
非对称加密算法进行通信的前提是,参与通信的双方都要知道对方的公钥。
公钥负责加密,私钥负责解密
非对称加密通信的流程如下:
-
密钥生成:首先,每个参与通信的实体都会生成一对密钥,包括公钥和私钥。公钥可以公开给其他人,而私钥必须保密。
-
加密:发送方使用接收方的公钥对要发送的消息进行加密。这意味着只有拥有接收方私钥的接收方才能解密消息。
-
发送:发送方将加密后的消息发送给接收方。
-
解密:接收方使用自己的私钥对收到的消息进行解密。只有拥有相应私钥的接收方才能成功解密。
使用非对称加密算法,这个流程可以实现以下效果:
-
保密性:由于只有私钥持有者才能解密消息,所以即使被第三方截获,也无法获取明文信息。
-
身份验证:接收方可以使用私钥对收到的消息进行解密,并验证消息确实是由发送方使用其公钥加密而来的。这样可以确保消息的来源可靠性。
-
完整性:发送方可以使用自己的私钥对消息进行数字签名,并将签名附加在消息上。接收方可以使用发送方的公钥对签名进行验证,以确认消息的完整性和未被篡改。
总结起来,非对称加密通信流程涉及密钥生成、加密、发送、解密和验证签名等步骤,以实现保密性、身份验证和完整性。