安装PGP8

百度网盘链接下载——PGP8.1
提取码:2391


  • 双击exe文件开始安装

    问你是否是新用户还是已经有了密钥,这里就默认

    选择安装路径,按照你自己需求来就行,哪里都可以。

    这里我选择默认,你看哪个有需要也可以勾选其他的,不影响后续操作。

    这里可以默认不用管,点击下一步

    安装成功,最好是重启一下电脑,他会提示你勾选重启。

了解


安装完成后会有:
PGPmail
第一个按钮:打开PGPkeys
第二个按钮:加密
第三个按钮:签名
第四个按钮:加密 and 签名
第五个按钮:解密 / 签名(意思是你解密或者签名都可以点这个按钮)
第六个按钮:wipe抹去,选择一个文件彻底从磁盘抹去(无法恢复)
第七个按钮:选择清除你磁盘里面空余的空间,也就是空余的帮你清除掉然后无法恢复
(防止被黑客恢复文件)

PGPkeys打开后是这样的:

  • 后缀名
    .pkr:是公钥环
    .skr:是私钥环
    环的意思是你可以导入很多钥匙,比如公钥环就是你可以将其他人的公钥导进来在这个公钥环中,同理私钥也是,不过私钥一般都是自己创建的。
    注意:你每次新创建环的时候,当你退出叉掉PGPkeys会提示你保存公钥和私钥环,因为这两个是一起的,当你可以手动保存这对钥匙环。

工作原理

PS:都是我网络安全老师的PPT截图下来,老师开的实验课程的图文PPT还是做得蛮不错的。

PGP使用

准备工作

首先是需要新建一个钥匙环,包含公钥环私钥环,这就是为什么保存的时候会让你连续保存两个文件,因为私钥环和公钥环在你创建的时候就必须要有且分开管理的。
(私钥环这个是你自己私有的,不要让人知道,也就是说我们将别人导入的公钥导入到这个环的时候,自动保存到公钥环中)
我们其实不用管,因为PGP你导进一个公钥还是私钥他分得清,你只管import即可,保存的时候会帮你分类保存管理。


新建后点击Expert(专家)

输入你自己的名字和email(这里不是真实的应用场景就随便取名了)


然后下一步继续,填写你的口令(注意口令不是私钥,口令是用来保护私钥的密码,在PGP中你解密或者签名的时候不用口令是用不了真正的私钥去进行解密或者签名的。)
同时你点击取消往右上角边的Hide Typing那就会显示你自己输入的口令,不勾选就看不见爱你你自己输入的口令。


继续下一步就完成了属于自己的钥匙对的生成了

将自己的公钥导出发送给希望一起交流沟通的人

保存好后会生成一个asc文件,即我们的公钥文件(对应你导出的那一个公钥),然后就把这个文件发给你好友,一起使用PGP加密交流(如果不嫌麻烦的话),我把自己的公钥保存在了桌面

然后导入别人的公钥,这一步很关键,没有别人的公钥只能自己玩,需要被人公钥就代表你可以发送数据给这个公钥的人。我这里开了两台虚拟机,然后另一台也安装了PGP,然后将他导出的公钥放在了我这里,双击他就有import界面弹出来


点击import后就会出现在你的PGPkeys界面列表里面,现在就代表你可以发送消息给这个公钥的人了,然后别人将你的公钥导入他自己那里的话他也可以给你发数据你进行解密接受。(这里对方不一定将你的公钥导进去,因为我这里演示的是你发给对方)

加密与解密

加密者视角(发送方)

这时候开一个文件,随便什么文件都行,这里我就开一个txt文本文件里面写着:hello world!

我们前面已经打开了PGPmail了,所以在上面点击第二个加密按钮


然后选择你要加密的文件,我这里就桌面上面的文件打开,就会出现下图

这里一定要理解一个点,
上面的框里面存着你导入别人的公钥,也就是公钥列表,你以后导入的公钥都会显示在这里
下面的框是放着你要加密的文件的接收者列表,列表默认只有你自己是接收者,当然你也可以将自己移除
现在开始将上面你要发送的人的名字拖到下面来(也就是将对方的公钥拖到下面的接收方的表),这里是可以拖动的,点住名字直接拖拽下来。
你也可以双击名字,上面列表双击某个公钥,该公钥就会跳到下面的框框中,同理下面的框框双击就会跳到上面的框框中。
下图中我将对方的公钥拖到接收者列表中,这样对方就可以解密,我这里没有把自己移出接收者列表,那就表示待会生成的加密文件我自己也可以解密。

点击OK后,完成使用对方的公钥加密就会生成下面的后缀名为.pgp的文件

这个文件就只有你刚刚使用的公钥加密的那个人可以解密(当你自己也可以解密,因为你把自己也放在了接收者列表里面)

接收者视角(接收方)

注意:我这里是将对方的公钥导进来了,但是你可以不这么做,因为对方使用你的公钥加密而已,并没有使用它的私钥,所以你可以仅仅使用自己的私钥就可以解密,这里如果涉及到签名就必须要求双方都导入对方的公钥。


下图接收者已经将对方加密给我的文件收到了

接收者点击PGPmail中的第五个按钮,然后就会弹出来让接收者输入接收者自己的私钥。同理这里的往右上方的Hide Typing是否勾选也是一个是否显示你输入的私钥选项。

输入正确的私钥后,接收者桌面就会自动生成一个文件,这里面就是我加密的文件,这时候就可以打开查看了

查看后确实是正确的!

签名

这里基于上面加密的pgp文件进行签名,当然可以先对原文进行签名。
OK,下面是对前面的加密后的文件进行签名。


签名方(发送方)

在PGPmail中点击第三个按钮

选择之间加密后的pgp文件

输入自己的私钥(发送方私钥)

自动生成了一个后缀名为.sig的文件,这时候这个文件需要和刚刚被签名的文件放一起发送过去,也就是说,刚刚的pgp文件和现在生成的.sig文件一起发给接收方。

验证签名方(接收方)

现在接收方拿到了加密后的文件和签名的文件
注意:我们的签名文件是对加密后的 文件进行签名的,所以验证只是能够验证出来加密后的文件也就是现在接收到的加密文件,对谁签名就能验证谁,可以简单理解为这个意思。
还有一个很重要的点就是我们接收方一定要导入了发送方,也就是签名的那个人的公钥才可以进行验证。,我这里已经导入了。

现在你可以双击点开后缀名为sig的文件,也可以通过PGPmail的第五个按钮进行选择sig文件验证签名文件。我这里就选择点开第五个按钮

选择要验证的签名文件

选择完成后,如果成功验证就会直接跳出下面的框框,这里需要注意的是,不要看到灰色就觉得没通过,这是正常的,这是因为你导入的时候没有设置可信度,也就是说可信度为0,这个软件好像设置不了,就不管了 ,灰色也是代表验证通过的。

这样就跟代表我们的加密文件是可以相信是对方发过来的,没有被篡改过。

补充

对于文字的直接加密是通过粘贴板来实现

加密签名一段文字

首先将文字复制(或者Ctrl+C)

然后点击加密按钮,右下角有一个粘贴复制板选项

同样的来到这个界面,记得将接受者拖动到下面的列表中,下图还未进行拖动

完成后点击OK

这时候不要慌,加密后的数据其实是在你的粘贴板里面,这时候你粘贴下去就行,粘贴完成后就出现一坨东西,这一坨数据就是刚刚那段文件的加密文件

这时候解密方使用相同的办法先复制好,再按解密按钮。我这里想加一个签名,所以我尝试加一个签名进行。


我先复制这一段密文,然后点击签名按钮,选择复制粘贴板选项

输入口令,完成签名,签名后的数据依旧是复制起来了

直接粘贴出来,右边就是签名好的数据

签名后的格式

我们可以看到,签名后的数据是前面部分是加密的数据,后面才是我们的签名,也就是说我们只需要将这一段完整的数据发过去就行, 因为PGP已经帮我们拼接好了,整个数据就是:数据+签名,当然还有其他细节数据,我们不深究,主要是通过这个了解到了PGP的发送格式,只需要发送签完名后的数据就行,之前的可以不发送,因为后面验证完成后的数据会默认给你复制好,然后你再点一次解密就完成了解密。

验证解密一段文字

首先我们收到对方发过来的加密+签名的数据后,复制下来,点击解密/验证按钮,这个他PGP会自动匹配你是验证还是解密


首先发送方最后的步骤是签名,所以你点击解密/验证按钮后他自动匹配到了你是签名所以直接帮你验证,这个就不用输入私钥,直接弹出来一个框,里面的就是验证签名成功,然后输出的密文格式。

这时候你需要复制里面的内容,全选复制或者他提供了 一个按钮给你copy

然后继续点击解密/验证按钮,这时候他就会检测到你现在是要进行解密了,总之记得复制下来他他弹出来那份数据。
(自动匹配或许就是PGP为什么加密后的数据和签名后的数据都有格式不同的原因了,我猜的)

输入口令

就可以看到解密成功了,解密成功出来这份hello world!文本的可信度由于签名的存在大大提高了。

网络安全—PGP8.1软件应用的更多相关文章

  1. 客户化软件时代的前夜 ZT

    制造业:从手工模式到大规模生产,再到大规模定制 工业革命开始以后,机器全面代替了手工工具.随着工业经济的不断发展,机器的使用导致了两种截然不同的方式.一种是手工生产基本思想的延续,另一种则是大规模生产 ...

  2. 漏洞都是怎么编号的CVE/CAN/BUGTRAQ/CNCVE/CNVD/CNNVD

    在一些文章和报道中常常提到安全漏洞CVE-1999-1046这样的CVE开头的漏洞编号,这篇文章将常见的漏洞ID的表示方法做下介绍: 1.以CVE开头,如CVE-1999-1046这样的 CVE 的英 ...

  3. cncert阅读报告

    信息安全阅读报告 Problem 1: 国家计算机网络应急技术处理协调中心(简称“国家互联网应急中心”,英文缩写为“CNCERT”或“CNCERT/CC”)作为我国非政府层面网络安全应急体系核心技术协 ...

  4. 700名黑客无法攻破Trillium安全防护软件 欲以网络安全险获利

    盖世汽车讯 据外媒报道,在2017 DEF CON黑客大会上,黑客们受邀入侵Car Hacking Village会场内的各类自动驾驶车辆.物联网网络安全公司--Trillium Incorporat ...

  5. 网络安全意识有多重要?SamSam勒索软件敲诈了近600万美元

    近年来,对于网络犯罪分子来说,勒索软件已成为数百万美元的黑市业务,SamSam就是一个很好的例子. 中国信息安全新研究显示,自2015年12月以来,SamSam勒索软件从受害者手中敲诈了近600万美元 ...

  6. IT基础架构规划方案三(IT基础软件和系统规划)

    IT基础软件和系统规划 操作系统选型规划方案 根据对某集团的实际调研,获取了企业业务应用系统的建设情况,随着企业信息化建设的推进,需要对各种信息化管理系统和应用系统的服务器选型进行选型规划,根据不同的 ...

  7. [官方软件] Easy Sysprep v4.3.29.602 【系统封装部署利器】(2016.01.22)--skyfree大神

    [官方软件] Easy Sysprep v4.3.29.602 [系统封装部署利器](2016.01.22) Skyfree 发表于 2016-1-22 13:55:55 https://www.it ...

  8. ubuntu 16.04软件源

    来源:模板:16.04source   deb http://cn.archive.ubuntu.com/ubuntu/ xenial main restricted universe multive ...

  9. 网络安全设备Bypass功能介绍及分析

    from:http://netsecurity.51cto.com/art/200910/159948.htm 网络安全平台厂商往往需要用到一项比较特殊的技术,那就是Bypass,那么到底什么是Byp ...

  10. 【解决办法】糟糕,我的电脑只有IE64位浏览器能上网,其他软件都上不了网

      最近两周在三班四班有5位同学电脑7次出现网络故障,表现为能连上锐捷.DNS正常却不能上网,其中在我自己的计算机上就发生了2次.上网搜集并整理了以下资料,供大家参考.请直接参见[解决办法]. [网上 ...

随机推荐

  1. jcmd:JDK14中的调试神器

    目录 简介 jcmd的语法 列出运行的JVM 打印stack信息 打印heap info 打印heap dump 统计heap使用情况 JFR功能 总结 简介 jcmd是JDK自带的调试工具,具有非常 ...

  2. 体验Semantic Kernel图片内容识别

    前言 前几日在浏览devblogs.microsoft.com的时候,看到了一篇名为Image to Text with Semantic Kernel and HuggingFace的文章.这篇文章 ...

  3. OpenHarmony 分布式硬件关键技术

    本文转载自 OpenHarmony TSC 官方微信公众号<峰会回顾第8期 | OpenHarmony 分布式硬件关键技术> 演讲嘉宾 | 李   刚 回顾整理 | 廖   涛 排版校对  ...

  4. ssm 创建bean的三种方式和spring依赖注入的三种方式

    <!--创建bean的第一种方式:使用默认无参构造函数 在默认情况下: 它会根据默认无参构造函数来创建类对象.如果 bean 中没有默认无参构造函数,将会创建失败--> <bean ...

  5. c# 解决死锁问题Monitor

    前言 在高并发中,一个很关键的问题就是要避免死锁. 那么为什么会产生死锁呢?这种情况多见吗? 举一个例子: 比如方法一中先lock(object1),在lock(object1)中lock(objec ...

  6. LeetCode - 最接近的三数之和

    最接近的三数之和 你一个长度为 n 的整数数组 nums 和 一个目标值 target.请你从 nums 中选出三个整数,使它们的和与 target 最接近. 返回这三个数的和. 假定每组输入只存在恰 ...

  7. Python数据分析 Series 笔记

    002,pandas介绍 003,Series创建 导入Pandas Series 是一种类似于一维数组的对象,由下面两个部分组成: values:一组数据(ndarray类型) index:相关的数 ...

  8. 有意思的JavaScript代码写法【持续更新,欢迎留言分享有趣代码】

    filter过滤假值 [1,2,null].fiter(Boolean) 2.Object.is 健壮的相等判断 Object.is(NaN,NaN) Object.is(+0,-0) Object. ...

  9. 浏览器端实现类似input限制输入两位小数,输入时光标从输入位置移动到最后

    1.问题描述展示 示例代码所做限制为不允许输入字母d,其他限制规则可以根据需求自己调整,使用React编写,其他框架或原生均可根据该代码理解原理进行转变,特意使用了中文键盘可以看到输入框下面白色框闪出 ...

  10. Java实现银行存取款

    "感谢您阅读本篇博客!如果您觉得本文对您有所帮助或启发,请不吝点赞和分享给更多的朋友.您的支持是我持续创作的动力,也欢迎留言交流,让我们一起探讨技术,共同成长!谢谢!" 代码 `` ...