『网络安全』使用 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

相关文章

使用Python实现IP地址和端口状态检测与监控

《使用Python实现IP地址和端口状态检测与监控》在网络运维和服务器管理中,IP地址和端口的可用性监控是保障业务连续性的基础需求,本文将带你用Python从零打造一个高可用IP监控系统,感兴趣的小伙... 目录概述:为什么需要IP监控系统使用步骤说明1. 环境准备2. 系统部署3. 核心功能配置系统效果展

Python实现微信自动锁定工具

《Python实现微信自动锁定工具》在数字化办公时代,微信已成为职场沟通的重要工具,但临时离开时忘记锁屏可能导致敏感信息泄露,下面我们就来看看如何使用Python打造一个微信自动锁定工具吧... 目录引言:当微信隐私遇到自动化守护效果展示核心功能全景图技术亮点深度解析1. 无操作检测引擎2. 微信路径智能获

使用Java将各种数据写入Excel表格的操作示例

《使用Java将各种数据写入Excel表格的操作示例》在数据处理与管理领域,Excel凭借其强大的功能和广泛的应用,成为了数据存储与展示的重要工具,在Java开发过程中,常常需要将不同类型的数据,本文... 目录前言安装免费Java库1. 写入文本、或数值到 Excel单元格2. 写入数组到 Excel表格

redis中使用lua脚本的原理与基本使用详解

《redis中使用lua脚本的原理与基本使用详解》在Redis中使用Lua脚本可以实现原子性操作、减少网络开销以及提高执行效率,下面小编就来和大家详细介绍一下在redis中使用lua脚本的原理... 目录Redis 执行 Lua 脚本的原理基本使用方法使用EVAL命令执行 Lua 脚本使用EVALSHA命令

Python中pywin32 常用窗口操作的实现

《Python中pywin32常用窗口操作的实现》本文主要介绍了Python中pywin32常用窗口操作的实现,pywin32主要的作用是供Python开发者快速调用WindowsAPI的一个... 目录获取窗口句柄获取最前端窗口句柄获取指定坐标处的窗口根据窗口的完整标题匹配获取句柄根据窗口的类别匹配获取句

Java 中的 @SneakyThrows 注解使用方法(简化异常处理的利与弊)

《Java中的@SneakyThrows注解使用方法(简化异常处理的利与弊)》为了简化异常处理,Lombok提供了一个强大的注解@SneakyThrows,本文将详细介绍@SneakyThro... 目录1. @SneakyThrows 简介 1.1 什么是 Lombok?2. @SneakyThrows

在 Spring Boot 中实现异常处理最佳实践

《在SpringBoot中实现异常处理最佳实践》本文介绍如何在SpringBoot中实现异常处理,涵盖核心概念、实现方法、与先前查询的集成、性能分析、常见问题和最佳实践,感兴趣的朋友一起看看吧... 目录一、Spring Boot 异常处理的背景与核心概念1.1 为什么需要异常处理?1.2 Spring B

Python位移操作和位运算的实现示例

《Python位移操作和位运算的实现示例》本文主要介绍了Python位移操作和位运算的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1. 位移操作1.1 左移操作 (<<)1.2 右移操作 (>>)注意事项:2. 位运算2.1

如何在 Spring Boot 中实现 FreeMarker 模板

《如何在SpringBoot中实现FreeMarker模板》FreeMarker是一种功能强大、轻量级的模板引擎,用于在Java应用中生成动态文本输出(如HTML、XML、邮件内容等),本文... 目录什么是 FreeMarker 模板?在 Spring Boot 中实现 FreeMarker 模板1. 环

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义