前面的文章我们介绍过PGP文件加密的基本情况,本文将向大家介绍PGP加密的优越性,希望大好好看看!
字串8
我们知道PGP(Pretty Good Privacy)是目前最流行的一种加密软件,它是一个基于RSA公钥加密体系的邮件加密软件。我们可以用它对邮件保密以防止非授权者阅读,它还能对用户的邮件加上数字签名,从而使收信人可以确信发信人的身份。
它让用户可以安全地和从未见过的人们通信,事先并不需要任何保密措施的来传递密钥,因为它采用了非对称的“公钥”和“私钥”加密体系。
字串5
但PGP不是一种完全的非对称加密体系,它是个混合加密算法,它是由一个对称加密算法(IDEA)、一个非对称加密算法(RSA)、一个单向散列算法(MD5)以及一个随机数产生器(从用户击键频率产生伪随机数序列的种子)组成的,每种算法都是PGP不可分割的组成部分,PGP至所以得到流行,得到大家的认可,最主要的一半是它集中的几种加密算法.的优点,使它们彼此得到互补。 字串9
我们知道采用“公钥”和“私钥”加密体系最大的安全性问题就是公开的“公钥”可能被人篡改,影响文件的解密,虽然PGP也采用这一加密体系,并且所有“公钥”和“私钥”都可以由用户自己产生,不需要专门的认证机构,但它却有一个比较完善的密钥管理体制,所以它的另一半优点就体现在PGP独特的密钥管理体制上。
字串5
下面我们就从PGP加密机制和密钥管理的角.度来分析PGP加密的优越性。
字串1
一、PGP的加密机制
字串2
在现代社会里,电子邮件和网络上的文件传输已经成为生活的一部分。邮件的安全问题也就突出了,大家都知道在互联网上传输的数据是不加密的。如果用户不保护自己的信息,第三者就会轻易获得.用户的隐私。还有一个问题就是信息认证,如何让收信人确信邮件没有被第三者篡改,就需要使用数字签名技术。
RSA公钥体系的特点使它非常适合用来满足上述两个要求:保密性(privacy)和公证性(authentication)。PGP的创始人是美国的Phil Zimmermann,他的创造性在于他把RSA公钥体系的方便和传统加密体系的高度结合起来,并且在数字签名和密钥认证管理机制上有巧妙的设计。
RSA(Rivest-Shamir-Adleman)算法是基于大数不可能被质因数分解假设的公钥体系。简单地说就是找两个很大的质数。一个对外公开,一个不告诉任何人。公开的一个称为“公钥”,另一个叫“私钥”(Prblic key & Secret key or Private key)。这两个密钥是互补的,也就是说用公钥加密的密文只可以用私钥解密,反过来也一样。 字串4
假设甲要寄信给乙,他们互相知道对方的公钥。甲就用乙的公钥加密邮件寄出,乙收到后就可以用自己的私钥解密出甲的原文。由于别人不知道乙的私钥,所以即使是甲本人也无法解密那封信,这就解决了信.件保密的问题。
另一方面,由于每个人都知道乙的公钥,他们都可以给乙发信,那么乙怎么确信来信是不是甲的,这就是数字签名的必要性,用数字签名来确认发信的身份。
字串7
PGP的数字签名是利用一个叫“邮件文摘”的功能,“邮件文摘”(message digest),简单地讲就是对一封邮件用某种算法算出一个最能体现这封邮件特征的数来,一旦邮件有任何改变这个数都会发生变化,那么这个数加上用户的名字(实际上在用户的密钥里)和日期等等,就可以作为一个签名了,确切地说PGP是用一个128位的二进制数进行为"邮件文摘"的,用来产生它的算法就是MD5(Message Digest 5。MD5的提出者是Ron Rirest,PGP中使用的代码是由Colin Plumb 编写的MD5,MD5是一种单向散列算法,它不像校验码,是一份替代的邮件并且与原件具有同样的MD5特征值。
字串1
PGP给邮件加密和签名的过程是这样的:首先甲用自己的私钥将上述的128位值加密,附加在邮件后,再用乙的公钥将整个邮件加密(要注意这里的次序,如果先加密再签名的话,别人可以将签名去掉后签上.自己的签名,从而篡改了签名)。这样这份密文被乙收到以后,乙用自己的私钥将邮件解密,得到甲的原文和签名,乙的PGP也从原文计算出一个128位的特征值来和用甲的公钥解密签名所得到的数进行比较,如果符合就说明这份邮件确实是甲寄来的。这样两个安全性要求都得到了满足。 字串3
PGP还可以只签名而不加密,这适用于公开发表声明时,声明人为了证实自己的身份(在网络上只能如此了),可以用自己的私签名,这样就可以让收件人能确认发信人的身份,也可以.防止发信人抵赖自己的声明。这一点在商业领域有很大的应用前途,它可以防止发信人抵赖和信件被途中篡改。
字串7
为什么说PGP用的是RSA和传统加密的杂合算法呢?因为RSA算法计算量很大而且在速度上也不适合加密大量数据,所以PGP实际上用来加密的不是RSA本身,而是采用了一种叫IDEA的传统加密算法,又称为“对称加密法”。
传统加密方法就是用一个密钥加密明文,然后用同样的密钥解密。这种方法的代表是DES(US Federal Data Encryption Standard),也就是乘法加密,这的主要缺点就是密码长度较短,且的传递渠道解决不了安全性问题,不适合网络环境邮件加密需要。
IDEA是一个有专利的算法,专利持有者是ETH和一个瑞士公司:Ascom-Tech AG。IDEA的加(解)密速度比RSA快得多,所以实际上PGP是以一个随机生成的密钥(每次加密不一样),用IDEA算法.对明文加密,然后用RSA算法对该密钥加密。这样收件人同样是用RSA解出这个随机密钥,再用IDEA解密邮件本身。这样的链式加密就做到了既有RSA体系的保密性,又有IDEA算法的快捷性。PGP的创意有一半就在这一点上了,为什么RSA体系70年代就提出来,一直没有推广应用呢?速度太慢!那PGP创意的另一半在哪儿呢?就是下面我要谈的密钥管理。 字串8