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