实验五PGP加密实验指导1、PGP加密技术PGP(PrettyGoodPrivacy)加密技术是一个基于RSA公钥加密体系的邮件加密软件。PGP加密技术的创始人是美国的PhilZimmermann。他创造性地把RSA公钥体系和传统加密体系的结合起来,并且在数字签名和密钥认证管理机制上有巧妙的设计,因此PGP成为目前几乎最流行的公钥加密软件包。PGP的加密是采用了RSA以及杂合传统的加密算法来实现加密的。加密的关键在于一对密钥,该密钥对包含一个公钥以及一个私钥。公钥和私钥是根据某种数学函数生成的,通过一个密钥来推测另外一个密钥几乎是不可能的。一般来说,公钥用于加密,私钥用于数字签名。而且公钥是发给别人用来加密要发送给自己的文件的,而私钥是自己保留个人使用,不能供别人使用的。明文可以用公钥来加密,然后用私钥解密得到原文;明文也可以用私钥加密,然后用公钥解密得到原文。明文通过用户A的公钥加密后,只能使用用户A的私钥解密,不能采用A以外的任何其他人的私钥解密;使用用户A的私钥加密的文件只能用A的公钥解密,不能使用A以外的任何其他人的公钥解密。需要注意的是,由于私钥是自己保留,不给别人知道,因此,私钥除了加密的功能之外,还可以具有数字签名的作用。其机制在于:私钥只有自己才有,别人是没有你的私钥的,你用私钥可以对文件进行签名,而别人由于没有你的私钥,无法进行同样的签名,这样就能证明该文件是从你这里发出去的。而公钥是提供给要和你安全通信的人使用的。例如A想要和你通信,但是希望通信的内容不要被别人看到,就可以用你的公钥来对发送的内容进行加密,而你收到A发来的信息后就可以用你的私钥解密,可以阅读文件的内容。假设A发送的内容在途中被人截获了,但是没有你的私钥的话,一样是看不到明文的。这样PGP就能实现加密以及数字签名的功能。由于RSA算法计算量极大,在速度上不适合加密大量数据,所以PGP实际上用来加密的不是RSA本身,而是采用传统加密算法IDEA,IDEA加解密的速度比RSA快得多。PGP随机生成一个密钥,用IDEA算法对明文加密,然后用RSA算法对密钥加密。收件人同样是用RSA解出随机密钥,再用IDEA解出原文。这样的链式加密既有RSA算法的保密性(Privacy)和认证性(Authentication),又保持了IDEA算法速度快的优势。PGP之所以流行的原因是,加密的安全性非常高,同时加密速度又很快。2、PGP加密软件PGP加密软件是美国NetworkAssociateInc.出产的免费软件,可用它对文件、邮件进行加密,在常用的WINZIP、WORD、ARJ、EXCEL等软件的加密功能均告可被破解时,选择PGP对自己的私人文件、邮件进行加密不失为一个好办法。除此之外,你还可和同样装有PGP软件的朋友互相传递加密文件,安全十分保障。PGP软件有三个主要功能:(1)使用强大的IDEA加密算法对存储在计算机上的文件加密,经加密的文件只能由知道密钥的人解密阅读。(2)使用公开密钥加密技术对电子邮件进行加密,经加密的邮件只有收件人本人才能解密阅读。(3)使用公开密钥加密技术对文件或电子邮件进行数字签名,鉴定人可以用起草人的公开密钥鉴别真伪。为了方便使用,PGP软件还可以:(1)对文件或电子邮件即加密,又签名,这是PGP提供的最为安全的通信方式,发信人可以放心地相信只有收件人才能阅读信件内容,收信人也可以放心地确信信件的确事出自发件人的。(2)为配置公开和秘密钥匙,用户随后可以用秘密钥匙加密或签字。在收到加密的邮件时,用户需要用公开钥匙解密。(3)为用户管理钥匙,用户可以把通信人的公开钥匙挂在自己的钥匙环上,取时提供通信人的地址就可以了。(4)允许用户把所知的公开钥匙签字并发给朋友。(5)在得知某密钥实效或泄密后,对该钥匙取消或停用。为了防止遗忘或意外。用户还可以对钥匙作备份。(6)允许用户与国际互联网的公开钥匙服务器打交道,公开钥匙服务器相当于电话簿和电话查询台。用户可以把自己的公开密钥在服务器上公布出来,也可以根据电子邮件的地址从服务器上索取其他人的公开密钥。下面以8.1为例,介绍PGP的主要功能和使用方法。PGP8.1是基于WINDOWS平台的。使用PGP8.1可以简洁而高效地实现邮件或者文件的加密、数字签名。PGP系统在使用之前需要进行安装。PGP8.1的安装界面如图10-1所示。图10-1PGP8.1安装欢迎界面PGP的安装很简单,和平时的软件安装一样,只须按提示一步步“Next”完成即可安装欢迎界面,接受PGP公司的协议,以及选择用户类型的操作。接下来选择要安装的组件,图10-2选择要安装的PGP组件其中,第一个选项是关于磁盘加密的功能;第二个选项是ICQ的邮件加密功能;第三四个选项是关于OUTLOOK或者OTLOOKEXPRESS邮件加密的功能;最后一个选项适用于群发邮件的加密。用户可以根据自己的需要进行组件选择,一般情况下,默认安装就可以了。下面详细介绍PGP系统主要组件的使用方法。1.创建密钥对及使用公钥(1)从“开始”菜单中选择“PGP”中的“PGPKeys”。要使用该软件进行加密的话,首先要生成一对密钥。也就是一个公钥和一个私钥。其中公钥是发送给别人用来加密钥发送给自己的文件的,私钥是自己保存,用于解密别人用公钥加密的文件,或者起数字签名的作用。(2)创建密钥对在PGPKeys的窗口中,选择Keys菜单下的NewKey选项。PGP有很好的创建密钥对的向导,跟着向导很容易生成一对密钥。在10-3图中,需要在用户信息对话框中输入相应的姓名和电子邮件地址。每一对密钥都对应着一个确定的用户。用户名不一定要真实,但是要方便通信者看到该用户名能知道这个用户名对应的真实的人;邮件地址也是一样不需要真实,但是要能方便与你通信的人在多个公钥中快速的找出你的公钥。图10-3输入姓名和Email地址以方便他人识别你的公钥密钥对的私钥还必须进一步用密码加密,这个加密是对你的私钥加密。这个密码非常重要,切记不要泄漏了,为安全起见,密码长度至少8位,并且最好包括大小写、空格、数字、标点符号等。在PGP密码输入框中输入8位以上的密码,并确认,如图10-4所示。为了方便记忆你可以用一句话作为你的密钥。边上的“HideTyping”指示是否显示键入的密码。图10-4为私钥设置密码图10-5生成的密钥然后PGP会自动产生PGP密钥,生成的密钥如图10-6所示。接下来PGP会花一点点时间来生成你的密钥。图10-6生成密钥对至此,密钥对生成完毕。图10-7PGPKeys的工作窗口(3)导出公钥接着导出公钥,把公钥作为一个文件保存在硬盘上。图10-8导出公钥公钥导出之后,接下来就发送给需要跟你进行安全通信的人。你可以通过Email方式传送公钥或者把你的公钥放在密钥服务器上以供别人查找下载。密钥服务器维护着一个很大的的密钥数据库,如果希望别人可以使用你的公钥给你发送加密邮件,就可以直接把你的公钥放到密钥服务器上,那样你就可以不用分发公钥了。选择主菜单Server菜单下的Sendto子项,选择要上载的服务器,系统将完成你选择的服务器传送公钥的任务。(4)获取他人的公钥,在Server菜单下,单击Search,弹出PGPKeysSeachWindow,在该窗口中选择要查询的服务器,并定义你的查询标准。如果想导入一个密钥,将该密钥从Search窗口拖到PGPKeys窗口即可。2.加解密文件有了对方的公钥之后就可以用对方公钥对文件进行加密,然后再传送给对方。具体操作如下:选中要加密的文件,右键,然后选择“PGP”--“Encrypt”。见图10-9。图10-9选择“Encrypt”对文件加密然后在密钥选择对话框中,选择要接受文件的接收者。注意,用户所持有的密钥全部列出在对话框的上部分,选择要接收文件人的公钥,将其公钥拖到对话框的下部分(recipients),点击“OK”,并且为加密文件设置保存路径和文件名。见图10-10。图10-10选择需要用来加密的公钥此时,你就可以把该加密文件传送给对方。对方接收到该加密文件后,选中该文件右键,见上图10-11,选择“Decrypt&verify”,图10-11解密文件的菜单此时,要求输入私钥的密码,输入完后,按“OK”即可。见图10-12。图10-12输入密码,用私钥解密文件接下来,要为已经解密的明文文件设置保存路径文件名。保存后,明文就可以被直接查看了。3.PGP数字签名由于公钥是发放给其他人使用的,那么在公钥发放的过程中,存在公钥被人替换的可能。此时,若有一个人对此公钥是否真正属于某个用户的公钥做出证明,那么该公钥的可信任度就比较高。如果A很熟悉B,并且能断定某公钥是B的,并没有人把该公钥替换或者篡改的话,那么可以对B的公钥进行数字签名,以自己的名义保证B的公钥的真实性。具体操作为:运行“开始”—“PGP”—“PGPKeys”,选中要进行签名的公钥,然后右键,选择“Sign”进行签名。见上图10-9。此时,选择该用户的公钥,并且选中“Allowsignaturetobeexported.Othersmayrelyuponyoursignature(允许该签名被导出,其他人可以信任你的签名的真实性)”,点击“OK”。见图10-13。图10-13选中下方的选项以便该被签字的公钥可以导出输入私钥的密码,点击“OK”。这样,对公钥的签字就完成了。值得提醒的是,公钥和私钥都可以实现加密的功能,但是当要进行数字签名的时候,就只能使用私钥而不能用公钥。因为私钥只为用户一个人掌握,所以,该私钥能表明他的身份,确定该信息只有他一个人才能发出。4.加密邮件PGP的主要功能是加密邮件,安装完毕后,PGP自动和Outlook或者OutlookExpress关联。和OutlookExpress关联如图10-14所示图10-14PGP和Outlook关联利用Outlook建立邮件,可以选择利用PGP进行加密和签名,如图10-15所示。图10-15发送PGP加密邮件