PGP 简介

PGP 简介

什么是 PGP

PGP(Pretty Good Privacy,良好的隐私性)是由 Zimmermann 于 1991 年发布的一个完整的电子邮件安全软件包,提供了私密性、认证、数字签名和压缩功能。

PGP 使用 IDEA(International Data Encryption Algorithm,国际数据加密算法)128 位的块密码来加密数据,使用 RSA 来管理加密密钥,使用MD5 来保证数据完整性。

PGP 接收明文信息,最后输出一个签过名的密文,并且该密文是 Base64 格式。

PGP 原理

以 A 向 B 发送邮件来说明 PGP 原理,已知信息如下:

  • A 要发送的明文: P P P
  • A 的私钥和公钥: D a D_a Da E a E_a Ea
  • B 的私钥和公钥: D b D_b Db E b E_b Eb

PGP 运行步骤:

  1. 使用 MD5 算法计算出明文 P P P 的散列值 P m d 5 P_{md5} Pmd5
  2. 使用 A 的私钥 D a D_a Da P m d 5 P_{md5} Pmd5 进行加密,将加密的结果同 P 拼接在一起得到 P 1 P1 P1
  3. P 1 P1 P1 进行 ZIP 压缩,得到 P 1 z i p P1_{zip} P1zip
  4. 使用随机生成的 128 位密钥 K m K_m Km 根据 IDEA 算法对 P 1 z i p P1_{zip} P1zip 进行加密得到 P 2 P2 P2
  5. 使用 B 的公钥对密钥 K m K_m Km 进行加密,并将其与 P 2 P2 P2 进行拼接得到 P 3 P3 P3
  6. P 3 P3 P3 进行 Base64 编码,得到最终要发送的 ASCII 文本内容 P b a s e 64 P_{base64} Pbase64
  7. P b a s e 64 P_{base64} Pbase64 放在邮件体中,发送给 B,如此邮件内容有望不被记录或篡改的到达接收人
  8. B 接收到 PGP 邮件后,先做 Base64 解码,得到 P 3 P3 P3
  9. 在使用自己的私钥 D b D_b Db P 3 P3 P3 中的 K m K_m Km 解密出来
  10. 使用 K m K_m Km 解密 P 2 P2 P2 得到 P 1 z i p P1_{zip} P1zip
  11. P 1 z i p P1_{zip} P1zip 进行解压缩,得到 P 1 P1 P1
  12. 使用 A 的公钥对 P 1 P1 P1 中的签名进行解密,得到 P m d 5 P_{md5} Pmd5
  13. 对明文 P P P 进行 MD5 计算,并将结果同 P m d 5 P_{md5} Pmd5 进行比较
  14. 如此,便可以确定该信息是否被篡改,是否的确来自 A

在 PGP 的整个过程中,主要的且繁重的加密任务是由 IDEA 完成的,而 RSA 虽然耗时,但是其只是加密了 128 位的 MD5 散列值和 128 位的 IDEA 密钥,所以可以接受。

另外,可以根据需要选择 PGP 运行时使用的 RSA 密钥长度。

  • 临时(384位)
  • 商用(512位)
  • 军用(1024位)
  • 星际(2048位)
  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值