公开密钥加密: 公钥加密,私钥解密
公开密钥加密的处理流程:
1. A准备通过互联网向B发送数据
2. B生成公钥P和私钥S
3. B将P发送给A
4. A使用P进行加密,并将密文通过互联网发送给B
5. B使用S进行解密得到数据
公钥加密的更具体的栗子:
1.B首先准备好公钥P和私钥S
2.B将公钥发布到网上
3.想要发送数据给B的用户A从网上得到公钥P
4.A使用P对数据进行加密,并将密文通过互联网发送给B
5.B收到密文后,使用S进行解密得到数据
公钥加密的缺点:
1. 服务器端压力大:密钥的数量会随着人数的增加急剧增多
2. 公钥有可能不可靠:->1. 窃听者 X也生成了一对密钥(Px 和 Sx)->2. 在B给A发送公钥Pb时,X将公钥换成自己的公钥Px->3. A使用Px加密后,将密文通过互联网传给B->4. 密文被X拦截,并通过Sx解密得到数据,而后,X使用Pb对数据进行加密发送给B->5. B得到数据后使用Sb进行解密
// 这样A以为得到的是B的数据,B以为得到的是A的数据
3. 公开密钥加密,加密、解密的速度比较慢!
参考 《我的第一本算法书》5.5 公开密钥加密