『网络安全』使用 PGP 实现电子邮件安全

2023-10-24 13:10

本文主要是介绍『网络安全』使用 PGP 实现电子邮件安全,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

『网络安全』使用 PGP 实现电子邮件安全

aaf2eba9bb5ab4412fa628d31dacbe0c.png

—— 独立观察员 2014.05.18

一、安装 PGP 软件 Windows 版

(一)下载安装

从网上下载了 "PGP_Desktop_win32_10.0.3" 版,解压后有如下文件:

4db48a2d9b16749667981dec43e9337a.png

双击.exe 文件开始安装(点击 "OK" ):

72c73225d0944163d3f67fb14b66a5b6.png

接受许可条款,点击 Next:

97ba7f09a9b38972d974b94504cbbeaa.png

不显示 Realease Notes(以后也可以看):

a547ea13881be020f903968e6b465043.png

出错 ——32 位版本不能安装在 64 位的机子上:

e14103cf4a6d959587ca825090c2ab87.png

只好另外下载了 "PGP_10.0.2_ 最终中文纪念版_win64" 版:

547a20422c485f9f9a30cb0543e09266.png

之前相同的步骤就不赘述了,接下去:

(安装中:)

e9090994a7af1a3d9f642363bfacdf1b.png

当提示重启时,暂时不用理会,放在一边:

8881f3ef80bda865fa0116a835901548.png

(二)破解激活

解压注册机压缩包 "PGP_10.0_keygen.rar" ,运行里面的 "PGP_DT_X64_Keygen.exe" :

03ea80670e797b1358b37b77982ff63d.png

填写 "名称" 和 "组织" :

89810dbd38c489a8c706cb92aca6d122.png

首先生成序列号,点击 Generate,然后破解主程序,点击 Patch:

ac67aef8e999b51cb471ec7f316db46f.png

然后把姓名 Name、公司 Company、序列号 Serial 和激活码 Activation 粘贴到记事本中保存备用:

f0bfb08041e85d10010e967718d15bf2.png

现在可以关闭注册机,点击 PGP 软件那里的重启按钮,重启电脑:

d48c5dec57f26bf0d1bbc0af3e3697e9.png

重启后(断开网络),自动弹出设置向导,点击 "是"—— 从此账户启用 PGP:

4e898487468f692c5d7b37ce23efa8f9.png

填写个人信息(与之前填的一样):

55e11c9928332d9d905fdfcd15c3c4b0.png

下一步,进入注册阶段,填写序列号,也就是许可证号码(注意断网以阻止验证):

067a37dec404075596cbcfbd20ee98cc.png

点击下一步后,由于网络问题,出现连接错误,这正是我们要的;

选中 "输入一个 PGP 客服提供的许可证授权" 后点击下一步:

c46af22daa43338df1cad6faa629bafa.png

点击下一步,在空白处粘贴上许可证码:

b3207a7006d712c2e6285838261c71f1.png

点击下一步,会显示授权成功,所有功能全部激活:

cc6a6d06367ead1697fe57023b1195f6.png

(三)生成密钥

注册完成之后,就会引导生成密钥;或者可从 PGP Desktop 的 "文件"—>"新建 PGP 密钥" 启动 "PGP 密钥生成助手":

2836d1d717b17a96bcc779ee69147894.png

下一步,输入密钥口令,请牢记:

7ac6f17ab3a604c1a91455f0cec76ae0.png

下一步,生成密钥及传输密钥到服务器、邮件帐号等设置:

9c66bec1b8b9b8569a6650c18d8e5983.png

上传密钥到全球名录服务器

e3c2125904fefae1e3390cf8a881bf4d.png

76875a34eff3fcbe1ff0767d20a4fc3e.png

591800d5344abfc808c52360048c1122.png

然后你的邮箱中会收到确认邮件,点击确认链接:

df8406733f2b9700c7a8fcbf501fc0aa.png

再次确认:

3f075b3f7395a634a9164e82b5a58d7b.png

可选步骤

下载验证 Key:

90866428180190c90a82f510a17c76e0.png

已经可以搜索到了:

9f008af53cd83a7f9b0290f39ab45b6a.png

下载之后,在 PGP 软件里,点击 "文件"-->"导入" ,导入下载的文件:

65a55ae191de3a14300332cd63948c8d.png

7e6aa85e544a4aa17c4695c416a7bf61.png

(可以发现 PGP 在上传密钥到全球名录服务器后,已经有了这个,所以以上从 "下载验证 Key" 到这次导入的步骤可以不进行,后面的 "签名该密钥" 也不必进行。)

签名该密钥:

f52131000ed5b32ad6e8f48e30ad5925.png

发现已被签过了:

d98d26b9264109d608ffdab1ff55db10.png

二、用 PGP 加密电子邮件

(一)准备邮箱账户

在 Outlook(本次实验使用 2013 版本)中添加邮件账户:

1cdd14e4eced22ac2732fa485c618820.png

添加两个账户以进行实验:

e6c9c38e2a3e5c29f5272db0bbeb9bd4.png

(QQ 邮箱可能需要手动配置,Gmail 直接添加即可)

(二)可选步骤

其间 PGP 可能会跳出一些窗口(我也不知道要不要用):

534e322962682a44193270a0c8da8efb.png

92b3b52c692e7affbb8d11b7c0c676f5.png

在 PGP 软件的 "工具"-->"选项" 中勾选 "在 Outlook 启用 PGP 加密和签名按钮" :

80bd86b626aa7071e6216acbae14e34a.png

(不过对于 Outlook 2013 似乎无效)

(三)加密

编写邮件,选中正文并复制:

04c373a39e8f2b2ce138e7df87193e65.png

在桌面右下角的 PGP 软件图标上右键 -->"剪贴板"-->"加密" :

9800577d35617ad015d12cc70fe7d131.png

弹出对话框:

9ccd2cdad4f13f87de1ad1d257c115ce.png

拖动收件人到下面的框,代表着使用其公钥进行加密:

c0c7a085ae9f68a504a07ebc91f3c68e.png

加密内容会自动存放到剪贴板中。

在邮件正文处进行粘贴,覆盖原文:

ad8d2c7677b4e2780e615e64f758a4bf.png

然后点击发送。

(四)解密

然后 dlgcywlh@gmail.com 邮箱中就收到了新邮件(由于 Outlook 并不好用,以下都用 QQ 邮箱演示,效果一样):

53a3fa8cbd85548d7d2f0505dfdedc94.png

这样就算被别人截获,内容也不会泄漏。

复制全部正文,右键 -->"剪贴板"-->"解密 & 校验" :

d524a15acdba95fd12a93ef7715c0834.png

输入私钥的口令以便使用私钥解密:

eda67aea3933021eae717bd1f13da2d0.png

解密结果:

19a498b7225d3e1775e8b823e67ca435.png

(五)其它说明

由于本次实验使用的是自己添加的密钥,且上传到了 "全球名录服务器" ,所以免去了密钥的搜索(或导入导出)步骤。

如果收件人的公钥已上传到了 "全球名录服务器" ,那么直接搜索即可:

509171c2c2e515eeb5483a1504f7bc11.png

如果收件人的公钥没有发布,则可让其导出公钥或复制公钥:

9fb3b998102e4e7709551e29ac81c38a.png

然后在我们自己这里导入,"文件"-->"导入" :

902f8993327a41b44e604a66ddeb4d1f.png

可以是文本文件(适用于 "复制公钥" 得到的),或是.asc 格式文件(适用于 "导出" 方式得到的密钥)。

今天(20140519)做题学到一点:通常,私钥用于解密和签名,公钥用于加密和认证。

以上就是全部内容,谢谢!

技术群:添加小编微信并备注进群

小编微信:mm1552923   

公众号:dotNet编程大全    

这篇关于『网络安全』使用 PGP 实现电子邮件安全的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/275381

相关文章

C++中零拷贝的多种实现方式

《C++中零拷贝的多种实现方式》本文主要介绍了C++中零拷贝的实现示例,旨在在减少数据在内存中的不必要复制,从而提高程序性能、降低内存使用并减少CPU消耗,零拷贝技术通过多种方式实现,下面就来了解一下... 目录一、C++中零拷贝技术的核心概念二、std::string_view 简介三、std::stri

Python常用命令提示符使用方法详解

《Python常用命令提示符使用方法详解》在学习python的过程中,我们需要用到命令提示符(CMD)进行环境的配置,:本文主要介绍Python常用命令提示符使用方法的相关资料,文中通过代码介绍的... 目录一、python环境基础命令【Windows】1、检查Python是否安装2、 查看Python的安

C++高效内存池实现减少动态分配开销的解决方案

《C++高效内存池实现减少动态分配开销的解决方案》C++动态内存分配存在系统调用开销、碎片化和锁竞争等性能问题,内存池通过预分配、分块管理和缓存复用解决这些问题,下面就来了解一下... 目录一、C++内存分配的性能挑战二、内存池技术的核心原理三、主流内存池实现:TCMalloc与Jemalloc1. TCM

OpenCV实现实时颜色检测的示例

《OpenCV实现实时颜色检测的示例》本文主要介绍了OpenCV实现实时颜色检测的示例,通过HSV色彩空间转换和色调范围判断实现红黄绿蓝颜色检测,包含视频捕捉、区域标记、颜色分析等功能,具有一定的参考... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间

Python并行处理实战之如何使用ProcessPoolExecutor加速计算

《Python并行处理实战之如何使用ProcessPoolExecutor加速计算》Python提供了多种并行处理的方式,其中concurrent.futures模块的ProcessPoolExecu... 目录简介完整代码示例代码解释1. 导入必要的模块2. 定义处理函数3. 主函数4. 生成数字列表5.

Python中help()和dir()函数的使用

《Python中help()和dir()函数的使用》我们经常需要查看某个对象(如模块、类、函数等)的属性和方法,Python提供了两个内置函数help()和dir(),它们可以帮助我们快速了解代... 目录1. 引言2. help() 函数2.1 作用2.2 使用方法2.3 示例(1) 查看内置函数的帮助(

Linux脚本(shell)的使用方式

《Linux脚本(shell)的使用方式》:本文主要介绍Linux脚本(shell)的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录概述语法详解数学运算表达式Shell变量变量分类环境变量Shell内部变量自定义变量:定义、赋值自定义变量:引用、修改、删

Python实现精准提取 PDF中的文本,表格与图片

《Python实现精准提取PDF中的文本,表格与图片》在实际的系统开发中,处理PDF文件不仅限于读取整页文本,还有提取文档中的表格数据,图片或特定区域的内容,下面我们来看看如何使用Python实... 目录安装 python 库提取 PDF 文本内容:获取整页文本与指定区域内容获取页面上的所有文本内容获取

基于Python实现一个Windows Tree命令工具

《基于Python实现一个WindowsTree命令工具》今天想要在Windows平台的CMD命令终端窗口中使用像Linux下的tree命令,打印一下目录结构层级树,然而还真有tree命令,但是发现... 目录引言实现代码使用说明可用选项示例用法功能特点添加到环境变量方法一:创建批处理文件并添加到PATH1

Java使用HttpClient实现图片下载与本地保存功能

《Java使用HttpClient实现图片下载与本地保存功能》在当今数字化时代,网络资源的获取与处理已成为软件开发中的常见需求,其中,图片作为网络上最常见的资源之一,其下载与保存功能在许多应用场景中都... 目录引言一、Apache HttpClient简介二、技术栈与环境准备三、实现图片下载与保存功能1.