定义
PGP(Pretty Good Privacy)是一个混合加密算法。由一个对称加密算法,一个非对称加密算法,一个单向hash散列算法,一个随机数生成器组成。
工作流程
认证算法
1. 发送方创建消息
2. 发送方创建消息的160位散列码
3. 发送方用私钥对散列码进行加密,附加到消息上
4. 传输数据
5. 接收方用发送方提供的公钥对密文进行解密获取散列值
6. 接收方对剩余数据计算160位散列值
7. 接收方将生成的散列值与解密后的散列值进行比较,如果匹配则认证成功。
加密过程
1. 发送方创建消息
2. 发送方随机生成128位对称密钥
3. 发送方用密钥对消息内容进行加密得到密文
4. 发送方使用私钥对密钥进行加密附加到密文上
5. 传输数据
6. 接收方用发送方提供的公钥进行解密获取对称密钥
7. 接收方使用密钥解密剩余密文获得消息内容。
总结
由于非对称加密适合传输过程中的认证,但是对大块内容加密效率低下,而对称加密适合内容加密,但是不适合长期保存,也不适合多方都知道。还算法结合了两者的优势,屏蔽了两者的弊端,广泛用于邮件等互联网传输业务。