实验2PGP的配置与使用一、实验目的:1、了解网络安全的要求2、了解公钥密码体制3、了解数字签名4、初步掌握PGP的使用方法二、实验环境1、PGP软件三、实验要求1、能够了解公钥密码体制2、学习利用公钥密码实现数据通信安全3、学习利用公钥密码实现数字签名4、能够正确掌握PGP的使用方法四、实验内容1.生成你的密钥对,并将你的公钥发送给其他人。1.1创建和设置初始用户-生成密钥:重启后,进入系统时会自动启动PGPtray.exe,这个程序是用来控制和调用PGP的全部组件的,接下来进入新用户创建与设置。启动PGPkeys后,新建密钥,会出现一个PGPKeyGenerationWizard(PGP密钥生成向导),点“下一步”按钮,进入NameandEmailAssignment(用户名和电子邮件分配)界面,在Fullname(全名)处输入你想要创建的用户名,Emailaddress处输入用户所对应的电子邮件地址,如图1---图4:图1创建和设置初始用户-生成密钥图2创建和设置初始用户-生成密钥进入KeyGenerationProgress(密钥生成进程),等待主密钥(Key)和次密钥(Subkey)生成完毕(出现完成)。点击“下一步”按钮,进入CompletingthePGPKeyGenerationWizard(完成该PGP密钥生成向导)再点“完成”按钮,你的用户就创建并设置好了。图3创建和设置初始用户-生成密钥图4创建和设置初始用户-生成密钥1.2导出并分发公钥:启动PGPkeys,在这里你将看到你密钥的一些基本信息,如:Validity(有效性,PGP系统检查是否符合要求,如符合,就显示为绿色)、Trust(信任度)、Size(大小)、Description(描述)、KeyID(密钥ID)、Creation(创建时间)、Expiration(到期时间)等(如果没有那这么多信息,使用菜单组里的“VIEW(查看)”,并选中里面的全部选项),如图5--图8:图5导出并分发你的公钥这里的用户其实是以一个“密钥对”形式存在的,也就是说其中包含了一个公钥(公用密钥,可分发给任何人,别人可以用此密钥来对要发给你的文件或者邮件等进行加密)和一个私钥(私人密钥,只有你一人所有,不可公开分发,此密钥用来解密别人用公钥加密的文件或邮件)。现在我们要做的就是要从这个“密钥对”内导出包含的公钥。单击显示有你刚才创建的用户那里,再在上面点右键,选“Export…(导出)”(也可以点击紫色的磁盘图标实现此功能),图7导出并分发你的公钥在出现的保存对话框中,确认是只选中了“Include6.0Extensions”(包含6.0公钥),然后选择一个目录,再点“保存”按钮,即可导出你的公钥,扩展名为.asc。结果:图8导出并分发你的公钥导出后,就可以将此公钥放在你的网站上(如果有的话),或者发给你的朋友,告诉他们以后给你发邮件或者重要文件的时候,通过PGP使用此公钥加密后再发给你,这样做一是能防止被人窃取后阅读而看到一些个人隐私或者商业机密的东西,二是能防止病毒邮件,一旦看到没有用PGP加密过的文件,或者是无法用私钥解密的文件或邮件,就能更有针对性的操作了,比如删除或者杀毒。虽然比以前的文件发送方式和邮件阅读方式麻烦一点,但是却能更安全的保护你的隐私或公司的秘密。1.3导入公钥:直接点击(根据系统设置不同,单击或者双击)对方发给你的扩展名为.asc的公钥,将会出现选择公钥的窗口,在这里你能看到该公钥的基本属性,如有效性、创建时间,信任度等,便于了解是否应该导入此公钥。选好后,点击“Import(导入)”按钮,即可导入进PGP。如图9:图9导入公钥1.4、使用公钥加密文件:不用开启PGPkeys,直接在你需要加密的文件上点右键,会看到一个叫PGP的菜单组,进入该菜单组,选Encrypt(加密),将出现PGPshell–KeySelectionDialog(PGP外壳-密钥选择对话框),如图10:图10使用公钥加密文件如果要加密文本文件,如.txt,并且想要将加密后的内容作为论坛的帖子发布,或者要作邮件内容发布,那么,就在刚才选择公钥的窗口,选中左下脚的“TextOutput”(文本输出),这样创建的加密文件将是这样的格式:你加密的文件名.asc你用文本编辑器打开的时候看到就不是没有规律的乱码了(不选择此项,输出的加密文件将是乱码),而是很有序的格式,便于复制。见图11使用公钥加密文件的对比。图11使用公钥加密文件的对比2、获取他人的公钥,并与其进行加密的邮件相互传输。1.分发PGP公钥并发送PGP加密邮件在使用PGP加密通信之前,首先我们得把自己的公钥分发给你的朋友,这样,在他们给你发送加密邮件的时候使用你的公钥进行加密,然后你才能用你的私钥进行解密读取。图13分发PGP公钥2.收取PGP加密邮件(由于缺少某些信息,这部分暂时没有办法完成)图14收取PGP加密邮件3.如何实现数字签名及具有保密性的数字签名?给你的朋友发送e-mail进行数字签名。用SHA-1创建散列码,用发送者的私钥和DSS或RSA加密消息摘要1.数字签名:进行数字签名:完成数字签名: