0x00 PGP 是什么?
「良好隐私密码法(英语:Pretty Good Privacy,缩写为 PGP ),一套用于讯息加密、验证的应用程序,采用 IDEA 的散列算法作为加密与验证之用。PGP 的主要开发者是菲尔·齐默尔曼(Phil Zimmermann)。齐默曼于1991年将 PGP 在互联网上免费发布。PGP 本身是商业应用程序;开源并具有同类功能的工具名为 GPG(GnuPG)。PGP 及其同类产品均遵守 OpenPGP 数据加解密标准(RFC 4880)。」 ——来自WikiPedia
本文使用 GunPG 的分支 GPG Suite 来进行演示。
演示环境为:OS X 10.11.6 (没升级 macOS 是因为软件开发环境不想改变)
0x01 安装
如果你是 Homebrew 用户,可以下面这行命令进行安装
brew install Caskroom/cask/gpgtools
如果你没有 Homebrew ,请在这里下载安装文件 GPGTools(记得验证文件的 SHA-1 值)
安装过程极其简单,本文不进行过多介绍
(顺带一提,谣言止于智者,不要让你的屁股决定脑袋)
0x02 Hello World!
点击你 LaunchPad 中的 GPG Keychain 打开你的 GPG 钥匙串。
你会看到下图的界面
(黑条是我打的马赛克)
0x03 使用
第一次使用,我们应该先新建一个私钥。
点击左上角的「New」,然后自行在弹出的窗口中填入信息
这里的密码是给私钥的第二道锁,不填写也可以,只要保证私钥不泄露即可。
上传公钥是指把公钥上传至公共服务器,别人就可以通过你的 PGP Key ID 找到你的公钥。
这里我们可以看到新建立的一对钥匙(包含公钥与私钥)
我们先修改一些快捷键,方便自己使用。打开「System Preferences」,点击「Keyboard」—>「Shortcuts」
我建议你修改以下选项:
「OpenPGP:Decrypt Selection (解密选中文字)」
「OpenPGP:Encrypt Selection (加密选中文字) 」
「OpenPGP:Sign Selection (对选中文字进行签名)」
「OpenPGP:Verify Signature of Selection (验证选中文字的签名)」
你可以按照我这样进行设置,也可以按照自己喜好进行修改。
0x04 实战
我们在完成了钥匙创建和快捷键修改后,就可以尝试对文本进行加密了。
我们在编辑器中输入一段文字。
选中文字后,利用之前设置好的「OpenPGP:Sign Selection (对选中文字进行签名)」的快捷键进行签名。
选择用做签名的钥匙,点击「Choose Key (选择钥匙)」进行签名。
上图为加密好的文本内容,同理,我们可以使用「OpenPGP:Verify Signature of Selection (验证选中文字的签名)」设置好的快捷键进行验证签名。
注意,在签名完成后对原文本进行任何修改都可以导致验证签名失效,这样可以保证对方收到的文本没有被修改。
上图为对原内容进行修改后验证签名的结果。
对文本签名完成后就可以进行加密了。我们使用「OpenPGP:Encrypt Selection (加密选中文字) 」设置的快捷键,使用对方的公钥对文本进行加密(因为这里是我自己发给自己,所以使用刚刚生成的钥匙)。
然后就可以得到加密后的文本
然后就可以把加密后的文本通过邮件或者其他方式传递出去了。
假如你收到别人用你的公钥加密的邮件如何解密呢?
同样,使用解密快捷键,剩下的 GPG Tools 会帮你搞定
利用现有技术进行一些简单的高强度加密可以大幅度提升你的邮件安全性,希望对你有所帮助