20155202 20155222 信息安全技术概论实验一 PGP的使用
20155202 信息安全技术概论实验一 PGP的使用
实验原理
一.PGP简介
在现代社会里,电子邮件和网络上的文件传输已经成为生活的一部分。邮件的安全问题也就突出了,大家都知道在互联网上传输的数据是不加密的。如果用户不保护自己的信息,第三者就会轻易获得用户的隐私。还有一个问题就是信息认证,如何让收信人确信邮件没有被第三者篡改,就需要使用数字签名技术。
RSA公钥体系的特点使它非常适合用来满足上述两个要求:保密性(privacy)和认证性(authentication)。PGP(Pretty Good Privacy),是一个基于RSA公钥加密体系的邮件加密软件,它提供了非对称加密和数字签名。其创始人是美国的Phil Zimmermann,他把RSA公钥体系的方便和传统加密体系的高速结合起来,并且在数字签名和密钥认证管
理机制上有巧妙的设计,因此PGP成为目前非常流行的公钥加密软件包。
PGP有以下主要功能:
使用PGP对邮件加密,以防止非法阅读;
能给加密的邮件追加上数字签名,从而使收信人进一步确信邮件的发送者,而事先不需要任何保密的渠道用来传递密钥;
可以实现只签名而不加密,适用于发表公开声明时证实声明人身份,也可防止声明人抵赖,这一点在商业领域有很大的应用前景;
能够加密文件,包括图形文件、声音文件以及其它各类文件;
利用PGP代替Unicode生成RADIX64(就是MIME的BASE 64格式)的编码文件。
二.PGP加密机制
假设甲要寄信给乙,他们互相知道对方的公钥。甲就用乙的公钥加密邮件寄出,乙收到后就可以用自己的私钥解密出甲的原文。由于别人不知道乙的私钥,所以即使是甲本人也无法解密那封信,这就解决了信件保密的问题。另一方面,由于每个人都知道乙的公钥,他们都可以给乙发信,那么乙怎么确定来信是不是甲的,这就是数字签名的必要性,用数字签名来确认发信的身份。
PGP的数字签名是利用一个叫“邮件文摘”的功能,“邮件文摘”(message digest),简单地讲就是对一封邮件用某种算法算出一个最能体现这封邮件特征的数来(一旦邮件有任何改变这个数都会发生变化),这个数加上用户的名字(实际上在用户的密钥里)和日期等等,就可以作为一个签名了,确切地说PGP是用一个128位的二进制数做为“邮件文摘”的,用来产生它的算法就是MD5。
PGP给邮件加密和签名的过程是这样的:首先甲用自己的私钥将上述的128位值加密,附加在邮件后,再用乙的公钥将整个邮件加密(要注意这里的次序,如果先加密再签名的话,别人可以将签名去掉后签上自己的签名,从而篡改了签名)。这样这份密文被乙收到以后,乙用自己的私钥将邮件解密,得到甲的原文和签名,乙的PGP也从原文计算出一个128位的特征值来和用甲的公钥解密签名所得到的数进行比较,如果符合就说明这份邮件确实是甲寄来的。这样两个安全性要求都得到了满足。
PGP还可以只签名而不加密,这适用于公开发表声明时,声明人为了证实自己的身份,可以用自己的私钥签名,这样就可以让收件人能确认发信人的身份,也可以防止发信人抵赖自己的声明。这一点在商业领域有很大的应用前途,它可以防止发信人抵赖和信件被途中篡改。
为什么说PGP用的是RSA和传统加密的杂合算法呢?因为RSA算法计算量很大而且在速度上也不适合加密大量数据,所以PGP实际上用来加密的不是RSA本身,而是采用了一种叫IDEA的传统加密算法。
IDEA是一个有专利的算法,它的加(解)密速度比RSA快得多,所以实际上PGP是以一个随机生成的密钥(每次加密不一样),用IDEA算法对明文加密,然后用RSA算法对该密钥加密。这样收件人同样是用RSA解出这个随机密钥,再用IDEA解密邮件本身。这样的链式加密就做到了既有RSA体系的保密性,又有IDEA算法的快捷性。
PGP加密前会对文件进行预压缩处理,PGP内核使用PKZIP算法来压缩加密前的明文。一方面对文件而言,压缩后加密产生的密文可能比明文更短,这就节省了网络传输的时间。另一方面,明文经过压缩,实际上相当于经过一次变换,信息更加杂乱无章,对明文攻击的抵御能力更强。PGP中使用的PKZIP算法是经过原作者同意的。PKZIP算法是一个公认的压缩率和压缩速度都相当好的压缩算法。在PGP中使用的是PKZIP2.0版本兼容的算法。
实验过程
启动pgp10.1,这个程序是用来控制和调用PGP 的全部组件的,接下来进入 新用户创建与设置。新建pgp密钥后,会出现一个PGP Key Generation Wizard(PGP密钥生成向导),点“下一步”按钮,进入Name and Email Assignment(用户名和电子邮件分配)界面,在Full name(全名)处输入你想要创建的用户名,Email address处输入用户所对应的电子邮件地址。

进入Key Generation Progress密钥生成进程,等待主密钥Key和次密钥Subkey。 生成完毕(出现完成)。点击“下一步”按钮,进入Completing the PGP Key Generation Wizard(完成该PGP密钥生成向导)再点“完成”按钮,用户就创建并设置好了。
启动PGPkeys,在这里你将看到你密钥的一些基本信息,如:Validity(有效性,PGP系统检查是否符合要求,如符合,就显示为绿色)、Trust(信任度)、Size(大小)、Description (描述)、Key ID(密钥ID)、Creation(创建时间)、Expiration(到期时间)等(如果没有那这么多信息,使用菜单组里的“VIEW(查看)”,并选中里面的全部选项

导出密钥 这里的用户其实是以一个“密钥对”形式存在的,也就是说其中包含了一个公钥(公用密钥,可分发给任何人,别人可以用此密钥来对要发给你的文件或者邮件等进行加密)和一个私钥(私人密钥,只有你一人所有,不可公开分发,此密钥用来解密别人用公钥加密的文件或邮件)。现在我们要做的就是要从这个“密钥对”内导出包含的公钥。单击显示有你刚才创建的用户那里,再在上面点右键,选“Export„导出

保存密钥 在出现的保存对话框中,确认是只选中了“Include 6.0 Extensions”(包含6.0公钥),然后选择一个目录,再点“保存”按钮,即可导出你的公钥,扩展名为.asc。
利用U盘互换公钥
导入公钥直接点击(根据系统设置不同,单击或者双击)对方发给你的扩展名为.asc的公钥,将 会出现选择公钥的窗口,在这里你能看到该公钥的基本属性,如有效性、创建时间,信任度等,便于了解是否应该导入此公钥。选好后,点击“Import(导入)”按钮,即可导入进PGP不用开启PGPkeys,直接在你需要加密的文件上点右键,会看到一个叫PGP的菜单组,进入该菜单组,选Encrypt(加密),将出现PGPshell – Key Selection Dialog(PGP外壳-密钥选择对话框

- 输入对方地址
- 签名并保存:


解密很简单,直接右键要解密的pgp文件解密


- 解密完成
实验总结:
本次实验还算简单,就是在传输公钥时候连不上网,不能使用pgp全球名录助手

用u盘导出的公钥,其他步骤还算顺利,整体流程感觉很流畅。
20155202 20155222 信息安全技术概论实验一 PGP的使用的更多相关文章
- 《信息安全技术》实验一 PGP的原理与使用
<信息安全技术>实验一 PGP的原理与使用(macOS High Sierra下实现) 实验目的 理解传统加密.公钥加密.混合加密.数字签名等概念 理解公钥.私钥.会话密钥.对称密钥等概念 ...
- 20155231 信息安全技术概论实验二 Windows口令破解
20155231 信息安全技术概论实验二 Windows口令破解 实验目的 了解Windows口令破解原理 对信息安全有直观感性认识 能够运用工具实现口令破解 实验人数 每组一人 系统环境 windo ...
- 20155306 《信息安全技术概论》实验二 Windows口令破解
20155306 <信息安全技术概论>实验二 Windows口令破解 [实验目的] 了解Windows口令破解原理 对信息安全有直观感性认识 能够运用工具实现口令破解 [实验人数] 每组1 ...
- 20155331 《信息安全技术概论》实验二 Windows口令破解
20155331 <信息安全技术概论>实验二 Windows口令破解 [实验目的] 了解Windows口令破解原理 对信息安全有直观感性认识 能够运用工具实现口令破解 [实验原理] 口令破 ...
- 2017-2018-1 20155219《信息安全技术》实验二——Windows口令破解
2017-2018-1 20155320<信息安全技术>实验二--Windows口令破解 实验目的 了解Windows口令破解原理 对信息安全有直观感性认识 能够运用工具实现口令破解 实验 ...
- 2017-2018-1 20155312《信息安全技术》实验二——Windows口令破解实验报告
2017-2018-1 20155312<信息安全技术>实验二--Windows口令破解实验报告 实验目的 了解Windows口令破解原理 对信息安全有直观感性认识 能够运用工具实现口令破 ...
- 2017-2018-1 201552326《信息安全技术》实验二——Windows口令破解
2017-2018-1 201552326<信息安全技术>实验二--Windows口令破解 姓名:刘美岑 学号:20155326 班级:1553班 日期:10.24 一.实验环境 操作系统 ...
- 《信息安全技术》实验二 Windows口令破解
<信息安全技术>实验二 Windows口令破解 实验目的 了解Windows口令破解原理 对信息安全有直观感性认识 能够运用工具实现口令破解 实验环境 实验机Windows Server ...
- 2017-2018-1 20155207&20155308《信息安全技术》实验四-木马及远程控制技术
2017-2018-1 20155207&20155308<信息安全技术>实验四-木马及远程控制技术 实验目的 剖析网页木马的工作原理 理解木马的植入过程 学会编写简单的网页木马脚 ...
随机推荐
- 初始python(三)
1. 循环 if, while, forbreak : 结束整个循环continue :跳出当前这次循环,但不结束整个循环else :结束整个循环后才执行,不能与break合用,但可以与continu ...
- January 13 2017 Week 2 Friday
Those who turn back never reach the summit. 回头的人永远也到不了顶峰. I always turned back on my life road, so i ...
- TCP/IP 协议图--传输层中的 TCP 和 UDP
TCP/IP 中有两个具有代表性的传输层协议,分别是 TCP 和 UDP. TCP 是面向连接的.可靠的流协议.流就是指不间断的数据结构,当应用程序采用 TCP 发送消息时,虽然可以保证发送的顺序,但 ...
- 两天学会css基础(一)
什么是css?css的作用是什么? CSS 指层叠样式表 (Cascading Style Sheets)主要作用就是给HTML结构添加样式,搭建页面结构,比如设置元素的宽高大小,颜色,位置等等. 学 ...
- 用 Visual Studio 2012 调试你的ASP程序
最近搞到一段很值得参考的ASP项目,无奈技术有限,打开看完代码后感觉自己就像从来没学过ASP一样.唉...大神的世界 不过在网上看到一个有趣的方法,可以用Visual Studio 2005来调试AS ...
- Maven构建项目报No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK? 问题的解决方案
在编译SSM项目时,碰到如下问题,希望能给遇到相同问题的小伙伴们帮助 O(∩_∩)O~ Eclipse导入Maven项目后,选中父项目,执行Run AS——>Maven install后,出现如 ...
- 404 Note Found队-现场编程
目录 组员职责分工 github 的提交日志截图 程序运行截图 程序运行环境 GUI界面 基础功能实现 运行视频 LCG算法 过滤(降权)算法 算法思路 红黑树 附加功能一 背景 实现 附加功能二(迭 ...
- 数字转汉字|语言代码|NSNumberFormatter
iOS之阿拉伯数字转中文数字 - 简书 iOS中金额数字的格式化 NSNumberFormatter - 简书 ISO语言代码(ISO-639)与国家代码(ISO-3166) - CSDN博客 语种名 ...
- Ubuntu 16 Java Develop环境快速搭建
安装JDK 1. 更新apt-get: $ sudo apt-get update 2. 安装jdk: $ sudo apt-get install openjdk-8-jdk 部分eclipse现只 ...
- 前端提交表单两种验证方式记录 jq或h5 required属性
JQuery: <form id="form"> <input type="text" name="aaa"> &l ...