PGP邮件系统

PGP邮件系统

PGP简介

PGP(Pretty Good Privacy),是一个基于RSA公匙加密体系的邮件加密软件。可以用它对邮件保密以防止非授权者阅读,它还能对邮件加上数字签名从而使收信人可以确认邮件的发送者,并能确信邮件没有被篡改。它的功能强大,有很快的速度,而且它的源代码是免费的。
PGP包含了用于公钥加密的RSA, DSS和Diffie-Hellman算法,用于对称加密的CAST-128,IDEA和3DES算法以及用SHA1做Hash编码
下面的描述的一些符号的含义如下:
PGP邮件系统

操作描述

PGP的实际操作有4类服务组成:认证、 保密、 压缩和电子邮件兼容性:
PGP邮件系统
下面主要从3个方面来进行分析:

  • 认证

    • 发送方生成消息
    • 用SHA-1算法生成消息的160位Hash码
    • 用发送方的私钥按RSA算法加密该Hash码并将结果预先加入到消息中
    • 接收方用发送方的公钥按RSA算法解密消息并回复Hash码
    • 接收方对消息用相同的Hash函数生成新的Hash码,并比较该Hash码与解密得到的Hash码,如果两个匹配,则消息为可信的
      PGP邮件系统

    SHA-1和RSA的结合提供了一个高效的数字签名方案。两者发挥的作用分别如下所示:

    • 鉴于RSA的安全强度,接收者可以确信只有对应私钥的拥有者才能生成该签名
    • 鉴于SHA-1的安全强度,接收者可以确信如果是不同的消息必定无法生成与该Hash码匹配Hash值
  • 保密

    • 发送方生成消息和仅用于加密该消息的会话**, 该会话**为128位的随机自然数
    • 采用CAST-128(或IDEA或3DES)算法,使用该会话**加密消息
    • 使用RSA算法,用接收者的公开**加密该会话**并预先发送给对方
    • 接收者使用RSA算法,用自己的的私钥来解密并恢复会话**
    • 用会话**解密消息
      PGP邮件系统

    在上面的流程中,我们既使用了公钥加密RSA算法,又使用了CAST-128对称加密算法的理由如下:

    • 必要性:公钥算法的使用能够解决会话**分配问题
    • 重要性:减少加密时间(对称加密和公钥加密的结合在效率桑优于仅仅使用RSA或者ElGamal直接对消息进行加密)
  • 保密和认证性
    首先生成一个明文的签名,然后用CAST-128(或IDEA或3DES)算法对明文消息和签名进行加密,然后用RSA算法对会话**加密。
    PGP邮件系统

PGP消息(PGP Message Generation)

  • **标志

    • 会话**本身是用接受者的公钥加密的,因此只有接受者才能恢复会话**并以此恢复消息。
    • 由于任何用户都有多个公私**对,因此需要接受者确认对方是用自己的哪一个公钥加密会话**的方案为:PGP给每一个公钥都分配一个**标志,并且该**标志在一个用户标志内很大程度上是唯一的
  • PGP的消息产生:
    PGP邮件系统

    • 消息签名:
      1)PGP以“your_userid”作为索引将发送者的私钥从私钥环中恢复出来。若未提供“your_userid”则恢复**环中的第一个私钥
      2)PGP提醒用户输入口令以恢复出私钥
      3)执行消息的签名组件

    • 消息加密:
      1)PGP生成会话**并加密消息
      2)PGP以“her_userid”为检索将接收者从公钥环中取出
      3)执行消息的会话**组件
      PGP邮件系统

  • PGP的消息接收处理
    PGP邮件系统

    • 消息解密:
      1)PGP以会话**组件中的**标志域为索引将接收者的私钥从私钥环中取出
      2)PGP提醒用户输入口令以恢复出私钥
      3)PGP恢复会话**并解密消息

    • 消息认证:
      1)PGP以签名**组件中的**标志域为索引将发送者的公钥从公钥环中取出
      2)PGP恢复出传输过来的消息的摘要
      3)PGP对接收到的消息计算摘要并将之与2)中恢复的摘要进行比较以认证消息
      PGP邮件系统