PGP 加密 / 解密
OpenPGP 公钥加密、私钥解密,支持密钥对生成与 ASCII Armored 输出。
PGP 加密 / 解密在线工具
PGP(Pretty Good Privacy)是由 Phil Zimmermann 于 1991 年发布的加密方案,基于非对称加密, 是电子邮件、文件加密、开源协作(如 GitHub 提交签名)的事实标准。本工具基于 OpenPGP.js 实现, 支持密钥对生成(RSA 1024/2048/4096)、公钥加密、私钥解密,输出 ASCII Armored 格式。
PGP 与 RSA 的关系
PGP 是一套完整的加密协议,底层可用 RSA、DSA、ECC 等多种非对称算法。PGP 包装了密钥管理、混合加密、签名、压缩等功能。 相比直接用 RSA,PGP 更适合加密长文件(混合加密:用 RSA 加密 AES 会话密钥,用 AES 加密数据)。
常见应用场景
- 加密邮件:与 ProtonMail、Tutanota 等加密邮箱互发加密邮件
- 文件加密:加密本地敏感文件给特定收件人
- 代码签名:GitHub 用 GPG/PGP 密钥对 commit 签名
- 安全通信:记者、活动家、律师保护通信隐私
- 密钥分发:开源项目维护者公开 PGP 公钥用于验证发布物
PGP 使用注意事项
密钥管理是 PGP 的核心难点。PGP 的公钥基础设施(Web of Trust,信任网络)与 X.509 证书体系不同——没有中心化 CA,而是通过用户互相签名公钥建立信任链。实践中,多数人直接通过可信渠道(官网、GitHub profile、名片二维码)获取公钥,而非严格走信任网络。获取公钥后务必通过指纹(fingerprint)核对,防止中间人替换公钥。
私钥保护:PGP 私钥用 passphrase 加密存储,passphrase 泄露 + 私钥文件泄露 = 完全沦陷。建议私钥仅存在本地加密存储中(如 DeepSeal),不要上传云盘或邮件。生成密钥时选择 4096 位 RSA 或 Curve25519(ECC)以获得长期安全。密钥轮换:定期(如每年)生成新的主密钥并发布转钥声明,旧密钥设置过期,降低密钥泄露影响。
实际使用:命令行用户常用 GnuPG(gpg 命令),图形界面可用 Kleopatra、GPG Suite。本工具适合无命令行经验的用户进行 PGP 加密解密——在浏览器中完成,私钥不落地。但请注意,浏览器环境不如本地 GPG 安全,重要密钥操作仍建议在离线环境用 GnuPG 完成。PGP 的局限:协议本身安全,但易用性差(邮件加密 UX 糟糕),且元数据(发件人、收件人、时间)不加密,可被流量分析。