用于电子邮件的 PGP 与 GPG 加密
设置并使用 GPG 对电子邮件进行签名和加密,同时了解 PGP 信任网络模型
用于电子邮件的 PGP 与 GPG 加密 是 CoddyKit 上的免费 Cryptology Academy 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cryptology Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cryptology Academy 课程共包含 4 节课。
Phil Zimmermann 与 PGP 的诞生
Phil Zimmermann 于 1991 年发布了 Pretty Good Privacy,让普通人第一次能够使用强加密技术。美国政府最初以未获许可证出口军火为由调查他,因为当时加密技术被归类为武器。案件于 1996 年撤销,PGP 随后成为个人隐私技术发展史上的里程碑。
PGP 中的公钥与私钥对
PGP 使用非对称密码学:您可以生成一对在数学上相互关联的密钥。公钥可以自由分享,其他人可以使用它来加密发给您的邮件。私钥必须保密,并用于解密这些邮件。丢失私钥就意味着失去对所有加密数据的访问权限。
加密发送给收件人的消息
要向某人发送加密邮件,您需要获取对方的公钥并使用它来加密消息。只有持有相应私钥的人才能解密并读取该消息。PGP 实际采用混合加密:使用随机会话密钥通过对称密码算法加密消息,然后再使用收件人的公钥加密会话密钥本身。
使用您的私钥签名
您还可以使用私钥为消息签名。收件人使用您的公钥验证签名,从而确认消息由您发送且内容未被篡改。签名和加密是相互独立的操作,可以组合使用:通常会先签名再加密,或者先加密再签名,具体取决于您的威胁模型。
信任网络模型
PGP 不依赖证书颁发机构,而是使用信任网络,由个人为彼此的公钥签名,以证明其真实性。如果 Alice 信任 Bob,而 Bob 已为 Carol 的密钥签名,那么 Alice 就可以间接信任 Carol 的密钥。该模型在技术社区中运行良好,但对于普通用户而言很难建立起来。
GPG:免费实现
GNU 隐私保护工具通常称为 GPG 或 GnuPG,是 OpenPGP 标准的免费开源实现。它可以运行在 Linux、macOS 和 Windows 上,同时提供命令行界面和用于将 PGP 功能集成到应用程序中的库。如今,GPG 是执行 OpenPGP 操作的事实标准工具。
生成您的第一个 GPG 密钥对
运行 gpg --full-generate-key 后,程序会引导您选择算法、密钥长度和过期日期。Ed25519 是用于签名的现代选择,而 Curve25519 适合加密。您必须设置一个口令短语,用于保护磁盘上的私钥。密钥生成过程会从系统活动中收集熵,以确保随机性。
导出并共享您的公钥
生成密钥对后,您可以使用 gpg --armor --export your@email.com 导出公钥,并共享生成的文本块。收件人使用 gpg --import 导入公钥。您可以将公钥粘贴到自己的网站、邮件签名中,或发布到密钥服务器上。切勿共享私钥文件。
密钥服务器与密钥发现
keys.openpgp.org 和 keyserver.ubuntu.com 等密钥服务器可以让人们发布和查找公钥。您可以使用 gpg --keyserver keys.openpgp.org --send-keys YOURKEYID 上传密钥。现代的 keys.openpgp.org 要求在发布前验证电子邮件地址,从而减少有人冒用他人地址上传伪造密钥的问题。
使用 GPG CLI 加密文件和邮件
要加密文件,请运行:gpg --encrypt --recipient recipient@email.com --armor file.txt,这会生成 file.txt.asc。要解密,请运行:gpg --decrypt file.txt.asc。对于邮件,Thunderbird 等带有内置 OpenPGP 支持的工具,或 Enigmail 插件,可以将 GPG 直接集成到邮件撰写窗口中,透明地处理密钥查找和加密。
PGP 的局限性与可用性挑战
PGP 加密可以保护消息正文,但收件人、发件人、主题和日期字段仍以明文形式存在。密钥管理很复杂:用户必须找到、验证并信任收件人的密钥。邮件服务器无法搜索或建立加密邮件的索引。尽管 PGP 具有很强的安全性,这些可用性障碍仍限制了它在技术社区之外的普及。
PGP 密钥的使用
如果您想使用 PGP 向同事发送加密邮件,加密消息时应使用哪一把密钥?
PGP 与 GPG:要点总结
PGP 使用公钥和私钥对为邮件提供端到端加密和数字签名。GPG 是其免费开源实现。信任网络取代了集中式 CA。公钥可以发布到密钥服务器上,而私钥必须使用强口令短语加以保护。可用性仍是广泛采用 PGP 的主要障碍。
用 AI 导师学习 Cryptology Academy — 免费
在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。
- 课程
- 67
- 课程
- 261
常见问题解答
「用于电子邮件的 PGP 与 GPG 加密」课时是免费的吗?
是的 — 「用于电子邮件的 PGP 与 GPG 加密」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cryptology Academy 课程的其余内容,请升级到 CoddyKit PRO。 Cryptology Academy 课程共包含 4 节课。
「用于电子邮件的 PGP 与 GPG 加密」这节课中我会学到什么?
设置并使用 GPG 对电子邮件进行签名和加密,同时了解 PGP 信任网络模型 你通过在浏览器中直接运行的动手代码来练习 Cryptology Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Cryptology Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Cryptology Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。
「用于电子邮件的 PGP 与 GPG 加密」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Cryptology Academy 课中编写并运行代码吗?
能。每节 Cryptology Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 电子邮件为何天生不安全
- 用于电子邮件的 PGP 与 GPG 加密
- 企业电子邮件中的 S/MIME
- 现代消息传递中的端到端加密