PGP(PrettyGood Privacy),是一个基于公钥加密体系的邮件安全传输协议,包括数字签名、压缩、加密、数字信封以及Base64编码等过程。可以用它对邮件保密以防止未授权用户访问,它还可以对邮件加上数字签名从而使收信人可以确认邮件的发送者,并能确信邮件没有被篡改。

PGP指定了用户使用两个密钥环,一个维护用户自己的公钥-私钥的密钥环,一个维护其它PGP用户公钥的密钥环。

PGP工作过程如下:

  • 发信人发送邮件前,用自己的公钥-私钥环的私钥加密进行数字签名
  • 创建一个一次性对称密钥,用接收方的公钥对一次性对称密钥加密
  • 用一次性密钥对邮件内容、数字签名进行加密
  • 将加密后的一次性对称密钥、邮件内容、数字签名一起发送给对方
  • 对方接收到邮件后,用自己的私钥解密一次性密钥
  • 用一次性对称密钥解密邮件内容、数字签名
  • 用发送方的公钥对数字签名进行解密验证