PGP 软件及应用讨论论文 [摘要]文章主要介绍了 PGP 软件,对其主要部分和原理进行了阐述,并给出了在电子邮件等方面的应用。 [关键词]PGP;加密;电子邮件 1 引言 电子邮件在人们的工作中占据着重要作用。据统计,中国平均每用户每周收到 4.4 封邮件,发送 3.6 封邮件。但是电子邮件的主要协议如 SMTP 等是明文传送的。这些信息在经过不可信的因特网时,有可能会被第三方获得。在重视信息安全的现代社会,显然这并符合要求。如何能将这些信息保密,同时不篡改、不伪造等?本文所介绍的 PGP(PrettyGoodPrivacy)就是一种这样的软件,它主要应用于电子邮件和文件的加密解密。 目前 PGP 获得了广泛的应用。但它本身并不是一种加密算法,相反只是将一些加密算法(如 RSA、IDEA、AES 等)综合在一起,实现了一个完整的安全软件包。 PGP 主要是由 PhilipR.Zimmermann 开发的,于 1991 年在Internet 上免费发布。他主要做了如下工作:选择比较好的算法,例如 RSA、IDEA 等作为加密算法的基础构件;将这些算法集成在一个便于用户使用的应用程序中;制作了软件包及其文档,且源代码免费公开,以避隐藏后门之嫌;和公司合作,提供商业版本等。现在用户可以从下载 PGP。目前最新版本是 9.0。 2 原理 PGP 结合了一些大部分人认为很安全的算法,包括传统的对称密钥加密算法和公开密钥算法,充分利用这两类加密算法的特性,实现了以下几种服务:鉴别、加密、压缩等。 当发送者 PGP 加密一段明文时,PGP 首先压缩明文,然后PGP 建立一个一次性会话密钥,采纳传统的对称加密算法(例如AES 等)加密刚才压缩后的明文,产生密文。然后用接收者的公开密钥加密刚才的一次性会话密钥,随同密文一同传输给接收方。接收方首先用私有密钥解密,获得一次性会话密钥,最后用这个密钥解密密文。 2.1 数字签名 数字签名能够保证接收者接收的信息没有经过未授权的第三方篡改,并确信报文来自发信者。PGP 使用如下步骤实现数字签名: 2.1.1 发送者创建报文,然后使用 SHA-2 等散列算法生成散列代码,然后使用自己的私有密钥采纳 RSA 对散列代码加密,并将结果串接在报文前面。 2.1.2 接收者使用发送者的公开密钥,采纳 RSA 解密得到散列代码,然后和根据接收到的报文重新计算的散列代码比较,假如匹配,则接受报文。 目前,PGP 使用的散列函数包括:SHA-2(256bit)、SHA-2(384bit)、SHA-2(512bit)、SHA-1(160bit...