实验一PGP软件应用

实验一PGP软件应用【实验背景】PGP(PrettyGoodPrivacy)是主要由美国的PhilipZimmermann创造的用于保护网络上电子邮件和文件传输安全的技术,在学术界和技术界都得到了广泛的应用。

PGP的主要特点是使用单向散列算法对邮件/文件内容进行签名以保证邮件/文件内容完整性,使用公钥和私钥技术保证邮件/文件内容的机密性和不可否认性。

PGP不仅提供程序试用,而且提供程序源码,是一款非常好的密码技术学习和应用软件。

PGP的30天试用版本可以从下载。

(注:由于本实验中只用到PGP加/解密和签名/验证功能,而此功能是PGP最基本的功能,因此任何一个PGP版本都支持此类功能。

本实验仅以PGP.Desktop9.8为例进行介绍。

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

【实验条件】(1)PGPDesktop32-982.exe(2)基于Windows的PC机2台,分别为发送者userA和接收者userB使用。

【实验任务】(1)掌握PGP基本原理(2)利用PGP软件对文件进行加密/解密(3)利用PGP软件对文件进行签名/验证【实验内容】1.PGP基本原理如图1.1所示显示了PGP提供数字签名和机密性的操作过程。

如果在实际操作中只需要数字签名服务,则把加密和解密模块取消即可;同样,若只需要机密性服务,则把签名和认证模块取消即可。

图1.1PGP原理1)签名发送方A产生报文M,用单向散列算法(SHA或MD5)生成报文摘要,然后用自己的私钥,采用RSA或DSS数字签名算法对报文摘要进行加密,把计算结果串接在M的前面。

2)压缩默认情况下,PGP在签名之后加密之前对报文进行压缩,用Z表示。

此方法有利于在电子邮件传输和文件存储时节约空间,而且由于压缩过的报文比原始明文冗余更少,密码分析更加困难,因此也加强了加密的强度。

一般在PGP软件中使用Pkzip算法进行压缩。

3)加密发送方生成128比特的用于作为该报文会话密钥的随机数,使用此会话密钥采用CAST-128或IDEA或3DES算法对报文进行加密。

然后,由于会话密钥只被使用一次,因此要把会话密钥和报文绑定在一起传输。

为了保护此会话密钥,需要使用接收者的公开密钥采用RSA算法对会话密钥进行加密,并附加到报文的前面。

4)解密接收方收到发送方发来的报文,用自己的私钥采用RSA算法解密出会话密钥,然后用会话密钥来解密报文。

5)解压缩将解密后的报文进行解压缩操作,得到压缩前的报文。

6)认证对解压缩后的报文进行处理,提取出发送方用自己的私钥加密的报文摘要和明文,对前者用发送方的公钥来解密得到报文摘要,对后者用相同的散列算法生成新的报文摘要。

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

2.PGP软件安装(以发送者userA为例,接收者userB安装相同)在网上取得PGPDesktop32-982.exe并执行,出现语言选择界面,选择“English”继续安装。

在【LicenseAgreement】界面选择“Iacceptthelicenseagreement”选项,然后单击“next”继续安装。

在【ReadmeInformation】界面单击“next”继续安装。

在【InstallerInformation】界面单击“Yes”重启系统继续安装。

计算机重新启动后在系统窗口右下角的工具栏里可以看到一个图标,并出现【EnablingPGP】界面,因为是第一次安装所以选择“Yes”,单击“Next”继续安装。

如果没有LicenseKey,则可选择“Requestaone-time30dayEvaluationofPGPDesktop”安装30天评估版的PGP。

选择“Purchasealicensenumbernow”则可立即购买LicenseKey。

选择“Usewithoutalicenseanddisablemostfunctionality”则安装没有License的简化版版本的PGP。

本实验以选择最后一项为例,选择后单击“下一步”继续安装。

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

在【UserType】界面中选择“Iamanewuser”,单击“下一步”继续安装。

在【PGPKeyGenerationAssistant】界面单击“下一步”创建新的PGP密钥。

在【NameandEmailAssignment】界面中输入使用者的名字和Email地址(本实验以创建发送者userA为例),用这个信息来标识使用者的密钥以使通信的另一方能够清楚的识别使用者的公钥。

输入完信息后,单击“下一步”继续安装,出现【Createpassphrase】界面,如图1.2所示。

图1.2创建口令短语在【CreatePassphrase】界面中输入口令短语。

PGP在提取私钥时要求使用者必须输入口令短语才能使用私钥进行解密或签名,这样可以避免別人随便使用使用者的私钥。

注意密码长度至少要八个字符,最好不要是有意义的文字或数字,这样比较不容易被別人猜到。

在文本框中输入口令短语两次后单击“下一步”继续安装。

在【CreatePGPSecurityQuestions】界面中单击“下一步”进入【CreateSecurityQuestion1to5】界面进行安全问题设定,防止遗忘密码的时候可以通过回答安全问题而提取密钥。

本实验选择“Skip”跳过安全问题设定继续安装。

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

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

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

3.交换公钥在数据被处理之前,通信双方必须相互交换自己的公钥。

为了存储密钥,PGP在每个结点提供一对数据结构,一个用来存储该结点拥有的公开/私有密钥对,被称为私有密钥环;另一个用来存储该结点所知道的其他用户的公开密钥,被称为公开密钥环。

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

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

如图1.4所示。

图1.4导入对方公钥userB密钥导入后userA的【PGPDesktop-AllKeys】界面如图1.5所示。

图1.5密钥查看同样将userA的密钥导入到userB的密钥环中。

4.加密/解密文件在userA机器上新建一个文本文件a.txt,输入内容并选中,如图1.6所示。

图1.6明文信息单击图标→“CurrentWindows”→“Encrypt”,出现【KeySelectionDialog】界面,双击userB密钥使其出现在“Recipients”对话框,如图1.7所示。

图1.7选择接收方公钥单击“OK”,发现文本内容已被加密,如图2.38所示。

图1.8密文信息将文件保存成fromA.txt,用邮件或文件共享方式发给userB。

userB收到userA发来的加密文件fromA.txt后双击打开,右击图标→“CurrentWindows”→“Decrypt&Verify”,出现【EnterPassphrase】界面,如图1.9所示。

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

5.签名/验证生成签名文件如图1.10所示。

明文图1.10签名信息将文件保存成signA.txt,用邮件或文件共享方式发给userB。

userB收到userA发来的签名文件后双击打开,右击图标→“CurrentWindows”→“Decrypt&Verify”,出现验证界面,如图1.11所示。

图1.11验证签名看到签名状态为“GoodSignature”则证明签名有效。

如果userA想发给userB既签名又加密的信息,则需要右击图标→“CurrentWindows”→“Encrypt&Sign”,过程同前。

6.直接对文件进行加密/机密,签名/验证:右击要加密的文件A.txt→“PGPDeskop”→“Secure“B.txt”withKey…”。

在【PGPZipAssistant】界面的下拉菜单中选中要加密的公钥userB,单击“下一步”,生成文件A.txt.pgp,将文件发送给userB,userB双击解密,步骤同前类似。

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

THE END
1.逻辑回归实际应用例子mob64ca140d2323的技术博客Estimator:估计器是一种算法,用于DataFrame转换。例如,学习算法是一种估计器,它训练一个DataFrame并生成一个模型。 pipeline:管道将多个变压器和估计器链接在一起,以指定一个ML工作流。 二、spark ml实现 尝试用spark ml实现广告点击预测,训练和测试数据使用Kaggle Avazu CTR 比赛的样例数据,下载地址:https://www.kaghttps://blog.51cto.com/u_16213670/12852502
2.“信息安全”课程习题及参考答案网络信息安全doc什么是序列密码和分组密码? 序列密码是一种对明文中的单个位(有时对字节)运算的算法。分组密码是把明文信息分割成块结构,逐块予以加密和解密。块的长度由算法设计者预先确定。 简述公开密钥密码机制的原理和特点? 公开密钥密码体制是使用具有两个密钥的编码解码算法,加密和解密的能力是分开的; http://read.cucdc.com/cw/62655/104021.html
3.软考系统架构设计师教程学习笔记第十一章系统架构设计师认证的方法归结为3大类:知道什么、拥有什么、是什么。 是什么,是一种基于生物识别技术的认证。 1.用户名和口令认证,三种简单的认证方式:明文传送、单向散列、单向散列函数和随机函数。 2.使用令牌认证,密钥存储于令牌中。 令牌是一个可以加密存储并运行相应加密算法的设备,完成对用户必须拥有某物的验证。 https://www.educity.cn/rk/1776400.html
4.信息安全技术(第4期,进行中)超星尔雅学习通网课答案3、【填空题】PGP加密系统中采用的公钥加密算法是 算法,用于生成报文摘要的单向散列函数算法(Hash算法)可以采用 算法,对称加密算法可以采用 算法。4、【填空题】PGP加密系统不仅可以对邮件进行加密,还可以对 、 等进行加密。5、【简答题】在使用PGP加密系统时,如果没有对导入的其他人的公钥进行签名并赋予完全信任http://xuzhou.ehqc.cn/html/07_12.html
5.PGP简介pgp是一种电子邮件安全方案,它一般采用()作为标准算法PGP是用一个128位的二进制数作为“邮件文摘”的,用来产生它的算法叫MD5(message digest 5)。 MD5是一种单向散列算法,它不像CRC校验码,很难找到一份替代的邮件与原件具有同样的MD5特征值。 回到数字签名上来,甲用自己的私匙将上述的128位的特征值加密,附加在邮件后,再用乙的公匙将整个邮件加密。这样这份密文被https://blog.csdn.net/bekars/article/details/677963
6.什么是NSA的信息安全三属性散列值 也可以使用散列算法验证完整性。本质上,消息的散列被生成并附加到消息的末尾。接收方计算他们收到的消息的哈希值,并将其与收到的哈希值进行比较。如果在传输过程中发生了变化,哈希值将不匹配。 在许多情况下,散列是一种可接受的完整性检查。但是,如果拦截方希望故意更改消息并且消息未加密,则哈希是无效的。https://www.360doc.cn/article/68899713_1026866534.html
7.数据加密技术网络通信11篇(全文)PGP把公开密钥体系的密钥管理方便性和对称密钥体系的高速度相结合,一方面使用DEA算法对数据进行加密,而另一方面使用RSA算法对DEA的密钥进行加密。这样,两类体制的算法结合在一起实现加密功能,突出了各自的优点,是较理想的安全快捷加密软件工具。 五、结束语https://www.99xueshu.com/w/ikeytnago16b.html
8.Android签名与校验过程详解数字签名:靠加密解密算法进行支撑 单向散列算法 MD5,SHA 非对称密钥算法:RSA 数字签名算法:DSA(Digital Signture Algorithm) 数字签名标准:DSS(DigitalSinature Standard) 使用私钥对摘要进行加密,即为数字签名! 下图描述了数字签名的大概流程,具体流程比这个稍微复杂一些。 非对称数字签名算法 :RSA 签名具有的特性:https://www.pianshen.com/article/42981323170/
9.数据加密算法有哪些?哪个更适合我?PGP全称为Pretty Good Privacy,即优良保密协议,通常采用IDEA的散列算法作为加密与验证之用,是1991年Phil Zimmerman在基于RSA加密算法所创建的一种算法,和其他加密算法不同,PGP无需服务器、证书或发件人和收件人之间的任何其他类型共享秘密来使用加密技术。 https://www.fanyedu.com/content/4465.html
10.网络安全之密码技术3、根据加密过程中是否使用随机数可以将加密体制分为概率加密体制和确定性加密体制。 如果在加密算法中使用了除明文和加密密钥以外的随机数,则称它为概率加密体制;相反,如果加密算法除了明文和加密密钥外没有使用任何的随机数,则称为确定性加密体制。显然,对于确定性加密体制来说,一个明文在相同密钥下的密文是确定的https://www.zhuanzhi.ai/document/85caa599181acc1c953eee769da130f0
11.PGP算法及其原理PGP(Pretty Good Privacy)是一个混合加密算法。由一个对称加密算法,一个非对称加密算法,一个单向hash散列算法,一个随机数生成器组成。 工作流程 认证算法 1. 发送方创建消息 2. 发送方创建消息的160位散列码 3. 发送方用私钥对散列码进行加密,附加到消息上 https://www.jianshu.com/p/fb726679d52f
12.Pythonhashlib模块详情pythonSHA:secure Hash Algorithm 安全散列算法1,是一种密码散列算法,SHA-1可以生成摘要消息为40位的16进制即160位(20字节)的散列值 用途:TSL、SSL、PGP、SSH等协议中广泛使用 3. hashlib 属性方法 hashlib 模块相关属性 hashlib 构造对象相关的属性 hashlib 模块相关方法目前可以支持主流hash算法。 https://www.jb51.net/article/230710.htm
13.SHA安全散列算法腾讯云开发者社区文章目录一、报文鉴别二、鉴别分类三、报文鉴别四、密码散列函数五、MD5 算法六、SHA-1 安全散列算法七、MAC 报文鉴别码一、报文鉴别 --- 计算机网络安全措施 : ① 针对被动攻击散列值 被截获 , 截获者无法伪造出一个 对应的输入值 ( 明文 / 发送数据 ) ; 密https://cloud.tencent.com.cn/developer/information/SHA%E5%AE%89%E5%85%A8%E6%95%A3%E5%88%97%E7%AE%97%E6%B3%95
14.PGPPGP是用一个128位的二进制数作为“邮件文摘”的,用来产生它的算法叫MD5(message digest 5)。 MD5是一种单向散列算法,它不像CRC校验码,很难找到一份替代的邮件与原件具有同样的MD5特征值。 回到数字签名上来,甲用自己的私匙将上述的128位的特征值加密,附加在邮件后,再用乙的公匙将整个邮件加密。这样这份密文被https://baike.sogou.com/v453393.htm
15.你知道PGP和GPG的区别吗?GPG=Gnu Privacy Guard. Gnu隐私保护。它 是在OpenPGP基础上更新了的。为了完全免费,所以不再使用IDEA散列算法。它是使用NIST 和 AES 高级加密的软件。 二,PGP 和GPG 之间的区别是什么? 1. 名字区别。PGP= Pretty Good Privacy。GPG= Gnu Privacy Guard. https://developer.aliyun.com/article/1432461
16.加密协议PGP和GPG的区别,你知道么?PGP使用RSA软件和IDEA加密算法。 GPG=Gnu Privacy Guard. Gnu隐私保护。它?是在OpenPGP基础上更新了的。为了完全免费,所以不再使用IDEA散列算法。它是使用NIST和AES高级加密的软件。 二、PGP和GPG之间的区别是什么? 名字区别。PGP=PrettyGoodPrivacy。GPG=GnuPrivacyGuard. http://www.51testing.com/html/18/n-6993418.html?nomobile=1
17.什么是安全电子邮件端到端的安全电子邮件技术保证邮件从发出到被接收的整个过程中,内容无法修改,并且不可否认。PGP和S/MIME是目前两种成熟的端到端安全电子邮件标准。 PGP(Pretty Good Privacy)被广泛采用,通过单向散列算法对邮件内容进行签名,以保证信件内容无法被修改,使用公钥和私钥技术保证邮件内容保密且不可否认。发信人与收信人的http://help.cstnet.cn/zhishiku/zhishiku_aqyj.html