实验一 PGP软件应用

2018-11-08 15:16

实验一 PGP软件应用

【实验背景】

PGP(Pretty Good Privacy)是主要由美国的Philip Zimmermann创造的用于保护网络上电子邮件和文件传输安全的技术,在学术界和技术界都得到了广泛的应用。PGP的主要特点是使用单向散列算法对邮件/文件内容进行签名以保证邮件/文件内容完整性,使用公钥和私钥技术保证邮件/文件内容的机密性和不可否认性。PGP不仅提供程序试用,而且提供程序源码,是一款非常好的密码技术学习和应用软件。PGP的30天试用版本可以从http://www.pgp.com 下载。(注:由于本实验中只用到PGP加/解密和签名/验证功能,而此功能是PGP最基本的功能,因此任何一个PGP版本都支持此类功能。本实验仅以PGP.Desktop 9.8为例进行介绍。)

【实验目的】

通过使用PGP软件加强对公钥密码技术应用的理解和掌握。 【实验条件】

(1) PGPDesktop32-982.exe

(2) 基于Windows的PC机2台,分别为发送者userA和接收者userB使用。 【实验任务】 (1) 掌握PGP基本原理

(2) 利用PGP软件对文件进行加密/解密 (3) 利用PGP软件对文件进行签名/验证 【实验内容】 1. PGP基本原理

如图1.1所示显示了PGP提供数字签名和机密性的操作过程。如果在实际操作中只需要数字签名服务,则把加密和解密模块取消即可;同样,若只需要机密性服务,则把签名和认证模块取消即可。

发送方AKUBKRB接收方BKUAKSD比较DZ-1KRAKSEDMHEZEH认证签名压缩加密解密解压缩

图1.1 PGP原理

1) 签名

发送方A产生报文M,用单向散列算法(SHA或MD5)生成报文摘要,然后用自己的私钥

,采用RSA或DSS数字签名算法对报文摘要进行加密,把计算结果串接在M的前

面。

2) 压缩

默认情况下,PGP在签名之后加密之前对报文进行压缩,用Z表示。此方法有利于在电子邮件传输和文件存储时节约空间,而且由于压缩过的报文比原始明文冗余更少,密码分析更加困难,因此也加强了加密的强度。一般在PGP软件中使用Pkzip算法进行压缩。

3) 加密

发送方生成128比特的用于作为该报文会话密钥的随机数

,使用此会话密钥采用

CAST-128或IDEA或3DES算法对报文进行加密。然后,由于会话密钥只被使用一次,因此要把会话密钥和报文绑定在一起传输。为了保护此会话密钥,需要使用接收者的公开密钥

采用RSA算法对会话密钥进行加密,并附加到报文的前面。 4) 解密

接收方收到发送方发来的报文,用自己的私钥然后用会话密钥

5) 解压缩

将解密后的报文进行解压缩6) 认证

对解压缩后的报文进行处理,提取出发送方用自己的私钥加密的报文摘要和明文,对前者用发送方的公钥

来解密得到报文摘要,对后者用相同的散列算法生成新的报文摘要。

两个报文摘要相比较,如果两者相匹配,则报文作为已经认证的报文被接受。

2. PGP软件安装(以发送者userA为例,接收者userB安装相同)

在网上取得 PGPDesktop32-982.exe并执行,出现语言选择界面,选择“English”继续安装。

在【License Agreement】界面选择“I accept the license agreement”选项,然后单击“next”继续安装。

在【Readme Information】界面单击“next”继续安装。 在【Installer Information】界面单击“Yes”重启系统继续安装。 计算机重新启动后在系统窗口右下角的工具栏里可以看到一个

图标,并出现

【Enabling PGP】界面,因为是第一次安装所以选择“Yes”,单击“Next”继续安装。

在【LicensingAssistant: Enable Licensed Functionality】界面输入相关信息,单击“Next”继续安装。

在【Licensing Assistant: Enter License】界面选择License信息,如果是在PGP网站上填写信息下载PGP,则网站会发送License Key到注册邮箱中,这时选择“Enter your license number”输入License Key。如果没有License Key,则可选择“Request a one-time 30 day Evaluation of PGP Desktop”安装30天评估版的PGP。选择“Purchase a license number now”则可立即购买License Key。选择“Use without a license and disable most functionality”则安装没有License的简化版版本的PGP。本实验以选择最后一项为例,选择后单击“下一步”继续安装。

在【Licensing】界面中单击“下一步”继续安装。

操作,得到压缩前的报文。

来解密报文。

采用RSA算法解密出会话密钥

在【User Type】界面中选择“I am a new user”, 单击“下一步”继续安装。 在【PGP Key Generation Assistant】界面单击“下一步”创建新的PGP密钥。 在【Name and Email Assignment】界面中输入使用者的名字和Email地址(本实验以创建发送者userA为例),用这个信息来标识使用者的密钥以使通信的另一方能够清楚的识别使用者的公钥。输入完信息后,单击“下一步”继续安装,出现【Create passphrase】界面,如图1.2所示。

图1.2 创建口令短语

在【Create Passphrase】界面中输入口令短语。PGP在提取私钥时要求使用者必须输入口令短语才能使用私钥进行解密或签名,这样可以避免別人随便使用使用者的私钥。注意密码长度至少要八个字符,最好不要是有意义的文字或数字,这样比较不容易被別人猜到。在文本框中输入口令短语两次后单击“下一步”继续安装。

在【Create PGP Security Questions】界面中单击“下一步”进入【Create Security Question 1 to 5】界面进行安全问题设定,防止遗忘密码的时候可以通过回答安全问题而提取密钥。本实验选择“Skip”跳过安全问题设定继续安装。

在【Key Generation Progress】界面中单击“下一步”继续安装。

在【PGP Messaging: Introduction】界面中取消“Automatically decet my email accounts”选项,不启用PGP自动选择邮件帐号功能,单击“下一步”继续安装。

在【Congratulations!】界面单击“完成”结束安装,此时在系统界面右下角的工具栏里可以看到一个

图标。

3. 交换公钥

在数据被处理之前,通信双方必须相互交换自己的公钥。为了存储密钥,PGP在每个结点提供一对数据结构,一个用来存储该结点拥有的公开/私有密钥对,被称为私有密钥环;

另一个用来存储该结点所知道的其他用户的公开密钥,被称为公开密钥环。

双击

图标打开【PGP Desktop】界面,选择界面左侧“PGP Keys”,可以看到生成的

用户密钥信息,本实例以用户userA为例生成密钥,以用户名和邮箱地址为标识。双击“userA”打开【userA-Key Properties】界面,可以查看密钥的ID、类型、创建时间(即时间戳)、加密算法等信息,如图1.3所示。

图1. 3 用户密钥信息

按照前面PGP安装步骤在另一台机器上安装PGP并生成userB密钥,然后在【PGP Desktop】窗口中用鼠标右击要交换的密钥userB→“Export…”,导出密钥,存成userB.asc的文件,然后把这个文件自由地传送给給userA、或放在拾日方便取得的地方,如利用邮件或文件共享方式进行交换。

userA取得发送方公钥文件以后,双击userB.asc附件,出现【Select key(s)】界面,选择密钥userB,然后单击“Import”导入发送方公钥。如图1. 4所示。

图1. 4 导入对方公钥

userB密钥导入后userA的【PGP Desktop-All Keys】界面如图1. 5所示。

图1. 5 密钥查看

同样将userA的密钥导入到userB 的密钥环中。 4. 加密/解密文件

在userA机器上新建一个文本文件a.txt,输入内容并选中,如图1. 6所示。

图1. 6 明文信息

单击图标→“Current Windows” →“Encrypt”,出现【Key Selection Dialog】界面,

双击userB密钥使其出现在“Recipients”对话框,如图1. 7所示。

图1. 7 选择接收方公钥

单击“OK”,发现文本内容已被加密,如图2.38所示。

图1. 8 密文信息

将文件保存成fromA.txt,用邮件或文件共享方式发给userB。userB收到userA发来的

加密文件fromA.txt后双击打开,右击图标→“Current Windows” →“Decrypt & Verify”,

出现【Enter Passphrase】界面,如图1. 9所示。

图1. 9 输入口令短语

输入userB的口令短语,单击“OK”,系统会提取userB的私钥对密文进行解密从而恢复出明文。

5. 签名/验证

生成签名文件如图1.10所示。

明文签名

图1.10 签名信息

将文件保存成signA.txt,用邮件或文件共享方式发给userB。userB收到userA发来的签名文件后双击打开,右击界面,如图1.11所示。

图标→“Current Windows” →“Decrypt & Verify”,出现验证

图1.11 验证签名

看到签名状态为“Good Signature”则证明签名有效。 如果userA想发给userB既签名又加密的信息,则需要右击→“Encrypt & Sign”,过程同前。

6. 直接对文件进行加密/机密,签名/验证:

右击要加密的文件A.txt→“PGP Deskop”→“Secure “B.txt” with Key ?”。

,在【PGP Zip Assistant】界面的下拉菜单中选中要加密的公钥userB,单击“下一步”

图标→“Current Windows”

生成文件A.txt.pgp,将文件发送给userB,userB双击解密,步骤同前类似。

对文件直接签名与加密类似,选择好签名密钥以后在保存目录下生成一个.sig文件,即是签名文件,然后将原文件与签名文件一起发送给接收方。接收方收到以后进行验证。

对文件直接既加密又签名与前面类似。


实验一 PGP软件应用.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:中国仿古电扇市场发展研究及投资前景报告(目录)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: