PGP/GPG加解密

在线生成PGP密钥对、加密/解密消息、签名/验签,所有操作在浏览器本地完成

密钥类型
关于 PGP/GPG
  • PGP(Pretty Good Privacy)是一种非对称加密方案,使用公钥加密、私钥解密,实现端对端加密通信
  • GPG(GNU Privacy Guard)是 PGP 的开源实现,两者格式兼容,广泛用于邮件加密、文件签名、代码签名
  • ECC(Curve25519)密钥比 RSA 更短但安全性相当,是现代推荐方案
操作说明
  • 生成密钥对:填写姓名和邮箱,选择密钥类型,点击「生成密钥对」,下载保存公钥和私钥
  • 加密:粘贴接收方公钥和明文消息,点击「加密」,将密文发送给对方
  • 解密:粘贴自己的私钥和密文,输入密码短语(如有),点击「解密」
  • 签名/验签:用私钥对消息签名,对方用公钥验证签名真实性
注意事项
  • 私钥必须妥善保管,切勿泄露;建议设置密码短语保护私钥
  • OpenPGP.js 库体积约 650KB,首次加载需要等待片刻
  • 所有操作均在浏览器本地完成,私钥和明文不会上传至服务器
  • 此工具仅供学习和测试,生产环境请使用 GPG 命令行工具或专业软件
PGP/GPG 知识详解
PGP 加密流程
  1. 发送方生成随机对称密钥(Session Key)
  2. 用对称密钥加密明文消息(AES-256)
  3. 用接收方公钥加密 Session Key
  4. 将加密后的 Session Key + 加密消息打包发送
  5. 接收方用私钥解密 Session Key,再解密消息
密钥类型对比
类型密钥长度安全性性能推荐
RSA-20482048 bit✅ 安全中等兼容性好
RSA-40964096 bit✅✅ 高安全较慢高安全场景
ECC Curve25519256 bit✅✅ 高安全最快现代推荐
GPG 常用命令
# 生成密钥对
gpg --full-generate-key

# 导出公钥
gpg --armor --export you@example.com > public.asc

# 加密文件
gpg --encrypt --recipient recipient@example.com file.txt

# 解密文件
gpg --decrypt file.txt.gpg