实验二PGP加密实验.docx
《实验二PGP加密实验.docx》由会员分享,可在线阅读,更多相关《实验二PGP加密实验.docx(14页珍藏版)》请在冰豆网上搜索。
实验二PGP加密实验
实验二--PGP加密实验
实验二PGP加密实验
一、实验目的:
1.熟悉非对称加密算法。
2.掌握私钥和公钥再签名和加密中的应用。
3.了解PGP工具如何实现数据的完整性和保密性
二、实验环境
计算机、PGP工具、局域网或互联网
三、实验原理
PGP简介:
PGP软件是一款非常优秀的加密软件。
它能实现对文件、邮件、磁盘、以及ICQ通信内容实现加密、解密、数字签名的功能,适合企业、政府机构、卫生保健部门、教育部门、家庭个人进行安全通信使用。
PGP的加密是采用了RSA以及杂合传统的加密算法来实现加密的。
加密的关键在于一对密钥,该密钥对包含一个公钥以及一个私钥。
公钥和私钥是根据某种数学函数生成的,并且通过一个密钥来推测另外一个密钥几乎是不可能的。
其中,明文可以用公钥来加密,然后用私钥解密得到原文,明文也可以用私钥加密,然后用公钥解密得到原文。
并且,一般来说,公钥用于加密,私钥用于数字签名。
而且公钥是发给别人用来加密要发送给自己的文件的,而私钥是自己保留个人使用,不能供别人使用的。
需要注意的是,明文通过用户A的公钥加密后,只能使用用户A的私钥解密,不能采用A以外的任何其他人的私钥解密;使用用户A的私钥加密的文件只能用A的公钥解密,不能使用A以外的任何其他人的公钥解密。
由于私钥是自己保留,不给别人知道,因此,私钥除了加密的功能之外,还可以具有数字签名的作用。
其机制在于:
私钥只有自己才有,别人是没有你的私钥的,你用私钥可以对文件进行签名,而别人由于没有你的私钥,无法进行同样的签名,这样就能证明该文件是从你这里发出去的。
而公钥是提供给要和你安全通信的人使用的。
例如A想要和你通信,但是希望同新的内容不要被别人看到,就可以用你的公钥来对发送的内容进行加密,而你收到A发来的信息后就可以用你的私钥解密,可以阅读文件的内容。
假设A发送的内容在途中被人截获了,但是没有你的私钥的话,一样是看不到明文的。
这样PGP就能实现加密以及数字签名的功能。
PGP之所以流行的原因是,加密的安全性非常高,同时加密速度又很快。
四、实验步骤
步骤1PGP安装
下载软件后,运行pgp8.exe文件开始安装,安装的过程很简单,依次按“next”按钮就可以了,安装过程见图1、图2、图3、图4和图5。
图1 安装欢迎界面
图2 接受PGP公司的协议
图3 安装时对PGP8.1.0 Windows版本的介绍
图4 选择用户类型
图5 选择安装路径
接下来选择要安装的组件,其中,第一个选项是关于磁盘加密的功能;第二个选项是ICQ的邮件加密功能;第三四个选项是关于OUTLOOK或者OTLOOK EXPRESS邮件加密的功能;最后一个选项适用于群发邮件的加密。
用户可以根据自己的需要进行组件选择,一般情况下,默认安装就可以了。
见图6、图7。
图6 选择要安装的PGP组件,一般按默认的选择即可
图7 安装正在进行中
步骤2生成密钥
安装完毕后,运行PGP程序。
从“开始”菜单中选择“PGP”中的“PGP Keys”。
要使用该软件进行加密的话,首先要生成一对密钥。
也就是一个公钥和一个私钥。
其中公钥是发送给别人用来加密要发送给自己的文件的,私钥是自己保存,用于解密别人用公钥加密的文件,或者起数字签名的作用。
在PGP Keys的窗口中,选择Keys菜单下的New Key选项。
见图8。
图8 PGP Keys的工作窗口
PGP有很好的创建密钥对的向导,跟着向导很容易生成一对密钥。
见图9。
图9 PGP密钥对的生成向导
每一对密钥都对应着一个确定的用户。
用户名不一定要真实,但是要方便通信者看到该用户名能知道这个用户名对应的真实的人;邮件地址也是一样不需要真实,但是要能方便与你通信的人在多个公钥中快速的找出你的公钥。
例如,大家都熟悉你的名字叫张三,那你的用户名和地址都含有张三的名字,就很容易让别人知道这个公钥是你的;如果你起了一个其他的名字,类似“天天下雨”或者“五月的海”,那其他与你通信的人很容易不记得这个名字到底是谁,因此在选择公钥的时候,自然很难找出你的公钥。
见图10。
图10 输入姓名和Email地址以方便他人识别你的公钥
密钥对的私钥还必须进一步用密码加密,这个加密是对你的私钥加密。
这个密码非常重要,切记不要泄漏了,为安全起见,密码长度至少8位,而且应该包含非字母的字符。
见图11。
图11 为私钥设置密码
接下来,软件生成密钥对。
至此,密钥对生成完毕。
步骤3导出并发送公钥
接着导出公钥,把公钥作为一个文件保存在硬盘上。
并把公钥文件发送给你希望进行安全通信的联系人。
见图14。
图14 导出公钥
公钥导出之后,接下来就发送给需要跟你进行安全通信的人。
你可以通过Email方式传送公钥或者把你的公钥放在公钥服务器上以供别人查找下载。
也可以通过其他的传送方式。
不过,由于在传送的过程公钥是没有采用安全机制传送,因此存在公钥被人窃取的可能。
为了更加安全,双方可以根据环境选择一个比较安全的环境来传送公钥。
在此实验过程中,实验者互相通过Email传送公钥,例如,用户A和用户B要互相通信,则A需要把自己的公钥传递给B,而B需要把自己的公钥传递给A。
步骤4文件加密与解密
有了对方的公钥之后就可以用对方公钥对文件进行加密,然后再传送给对方。
具体操作如下:
选中要加密的文件,右键,然后选择“PGP”--“Encrypt”。
见图15。
图15 选择“Encrypt”对文件加密
然后在密钥选择对话框中,选择要接受文件的接收者。
注意,用户所持有的密钥全部列出在对话框的上部分,选择要接收文件人的公钥,将其公钥拖到对话框的下部分(recipients),点击“OK”,并且为加密文件设置保存路径和文件名。
见图16、图17。
图16 选择需要用来加密的公钥
图17 为加密文件设置保存路径和文件名
此时,你就可以把该加密文件传送给对方。
对方接收到该加密文件后,选中该文件,右键,选择“Decrypt&verify”,见图18。
图19 输入密码,用私钥解密文件
接下来,要为已经解密的明文文件设置保存路径文件名。
见图。
保存后,明文就可以被直接查看了。
见图20。
图20 为明文文件设置保存路经和文件名
步骤5数字签名
由于公钥是发放给其他人使用的,那么在公钥发放的过程中,存在公钥被人替换的可能。
此时,若有一个人对此公钥是否真正属于某个用户的公钥做出证明,那么该公钥的可信任度就比较高。
如果A很熟悉B,并且能断定某公钥是B的,并没有人把该公钥替换或者篡改的话,那么可以对B的公钥进行数字签名,以自己的名义保证B的公钥的真实性。
具体操作为:
运行“开始”—“PGP”—“PGP Keys”,选中要进行签名的公钥,然后右键,选择“Sign”进行签名。
见图21。
图21 对某公钥进行数字签名
此时,选择该用户的公钥,并且选中“Allow signature to be exported. Others may rely upon your signature(允许该签名被导出,其他人可以信任你的签名的真实性)”,点击“OK”。
见图22。
图22 选中下方的选项以便该被签字的公钥可以导出
输入私钥的密码,点击“OK”。
这样,对公钥的签字就完成了。
值得提醒的是,公钥和私钥都可以实现加密的功能,但是当要进行数字签名的时候,就只能使用私钥而不能用公钥。
因为私钥只为用户一个人掌握,所以,该私钥能表明他的身份,确定该信息只有他一个人才能发出。
见图23。
图23 输入密码进行数字签名
我们也可以对文件进行签名和加密。
操作如下:
选择要进行签名的文件,点击右键,选择“sign”,见图。
要注意的是,对文件签名只能证明是你发出该文件,但是文件的内容并没有被加密,同时,进行数字签名时,在意的是表明该文件是从自己这里发出,因此对于文件的内容并不在意被别人看到,经过数字签名的文件要同原明文文件一同发送给对方,对方才能验证数字签名是否有效。
如果同时要表明文件从自己这里发出,同时又要对文件的信息保密,那么就选择“签名与加密”选项Encrypt&sign。
见图24。
图24 对文件进行签名或签名和加密
同样的,在选择密钥的对话框中,从对话框上部的密钥列表中,选择接收文件的用户拖到对话框的下部,点击“OK”。
见图25。
图25 选择文件的接收者
确定接收人后,输入私钥的密码,进行数字签名或数字签名和加密。
见图26。
图26 输入密码用私钥签名或加密