文档介绍:第12章电子邮件的安全性PGP(PrettyGoodPrivacs)S/,PGP提供了一种机密性和鉴别的服务,可以用于电子邮件和文件存储的应用。Zimmermann主要做了下面一些工作:选择最好的、可用的加密算法作为基础构件。将这些算法集成起来,形成一个通用的独立于操作系统和处理器的应用程序,该应用程序基于易于使用的命令构成的小集合。制作了软件包和相应的文档,包括源代码,、puserve的商业网,免费提供给用户。和一个公司(Viacrypt,workAssociates)签订了合同,提供PGP的完全兼容的、低价格的商用版本。,现在已经被广泛应用。PGP得到快速发展的原因包括以下一些:它是全世界免费可得到的,包括了运行在不同平台的多个版本,诸如:DOS/Wndow,Unix,Macintosh等。另外,商用版本满足了那些想要获得厂家技术支持的用户的需要。它建立在一些经过公开评议,被认为是非常安全的算法的基础上。具体来说,PGP软件包包括了公开密钥的RSA,DSS和Diffie-Hellman加密算法;常规的CAST-128,IDEA和3DES加密算法;以及散列编码的SHA-1算法。它的应用范围非常广,或其他网络和他人进行安全通信的个人都可以使用。它不是任何政府或标准化组织开发的,因而也不会被它们控制。对于那些本质上不信任任何“组织机构”的人来说,PGP具有吸引力。(数字签名)DSS/SHA或RSA/SHA使用SHA-1创建的报文的散列编码。采用DSS或RSA算法使用发送者的私有密钥对这个报文摘要进行加密,并且包含在报文中机密性(报文加密)CAST或IDEA或三密钥三DES,带有Diffie-Hellman算法或RSA采用CAST-128或IDEA或3DES,使用发送者生成的一次性会话密钥对报文进行加密,采用Diffie-Hellman或RSA,使用接收方的公开密钥对会话密钥进行加密并包含在报文中压缩ZIP报文可以使用ZIP进行压缩,用于存储或传输电子邮件兼容性64基转换为了提供电子邮件应用的透明性,加密的报文可以使用64基转换算法转换成ASCII字符串分段--为了满足最大报文长度的限制,——鉴别发送者创建报文。使用SHA-l来生成报文的160bit散列代码。使用发送者的私有密钥,采用RSA算法对散列代码进行加密,结果串接在报文的前面。接收者使用发送者的公开密钥,采用RSA解密和恢复散列代码。接收者为报文生成新的散列代码,并与被解密的散列代码相比较。如果两者匹配,则报文作为已鉴别的报文而接受。尽管签名一般和所签的报文或文件附加在一起,但这并不是必需的:分离的签名也是支持的。分离的签名可以和所签的报文分开存储和传输,这种方法在好几种场合中都是有用的。用户可能想要保持单独的所发送或接收的所有报文的签名日志。可执行程序的分离签名可以检测出接下来的病毒侵入。最后,分离签名可以用在需要多方签名的文档上,如法律合同。每个人的签名是独立的,因而可以只是应用到文档上。否则,签名将只能递归使用,第二个签名对文档和第一个签名进行签名,依此类推。——机密性发送者生成报文和128bit的用作该报文会话密钥的随机数。采用CAST-128(或IDEA或3DES)算法,使用会话密钥对报文进行加密。使用64bit来加密反馈(CFB)模式。采用RSA算法,使用接收者的公开密钥对会话密钥进行加密,并附加到报文前面。接收者采用RSA算法,使用自己的私有密钥解密和恢复会话密钥。使用会话密钥来解密报文。除了使用RSA对密钥加密之外,PGP提供了另一种称为Diffie-Hellman的选择。实际上,PGP使用的是Diffie-Hellman的提供加密