打开这个工具的三种方法
- 直接访问官方网站(需翻墙) https://openpgp-cn.pages.dev/
- 从官方网站下载程序包 openpgp-cn.zip,解压到电脑,然后在文件夹里直接打开
index.html,不需要联网。 在手机上也可以解压后直接打开本地 - 可以把解压后的文件夹部署在任意网站的任意目录下。如果网站没有被墙,任何墙内的人都可以访问使用。
- 程序包下载后可以随意复制传播,让其他人也可以免翻墙、免联网使用。注意,请确保给你程序的人值得信任,或者尽量从官网直接下载,避免被人植入恶意程序。
index.html,但可能需要特定的手机浏览器(如 Chrome)。
原理 - 公钥和私钥
OpenPGP 使用 "非对称加密" 的技术。接受信息的人,拥有一对相互关联的密钥:公钥只用于加密,不能解密,私钥才能用于解密。
- 公钥可以交给需要向你发送加密信息的人。
- 私钥必须由你自己保管,不应通过聊天或邮件发送给别人。
举个例子
我要给 007 发送隐秘信息,步骤如下:
- 我向 007 询问他的公钥;
- 007 生成他自己的公钥和私钥;
- 007 把他的公钥发送给我,可以用明文,不怕被截获;
- 我把要发送的信息,用 007 的公钥加密;
- 我把加密后的信息发送给 007,可以用明文,不怕被截获;
- 007 收到加密信息,用他的私钥解密。
传送公钥和加密后的信息时,可以放心使用微信、电子邮件、或者任何受监控的软件。其他人即使截获了这些信息,只要没有私钥,就不能解密。
需要注意的是
- 这个传输过程是单向的。007 的公钥和私钥,只能用来让别人向 007 发送信息。如果 007 想要回信给我,需要重复上面的步骤:我生成属于自己的公钥和私钥,再把我的公钥发送给 007。
- 可以有很多人使用 007 的公钥,把信息发给 007。但是,007 不能使用一个接收者的公钥同时发消息给其他人;007 必须获得每个接收者各自的公钥,才能向他们发送信息。
生成密钥
第一次使用时,先创建属于自己的公钥和私钥。
nobody;邮箱和私钥密码均可留空。public-key.txt 和 private-key.txt 文件保存到安全位置。也可以直接复制粘贴保存。-----BEGIN PGP PUBLIC KEY BLOCK----- 开头。私钥以
-----BEGIN PGP PRIVATE KEY BLOCK----- 开头。注意不要混淆。加密文本
使用接收方的公钥加密内容。只有持有对应私钥的人能够解密。
-----BEGIN PGP MESSAGE----- 开头。它不是密钥,可以直接发送。加密时同时签名(复杂版)
勾选“加密时同时使用我的私钥签名”,再提供你自己的私钥及可选密码。接收方解密时,可以使用你的公钥确认消息确实由你发出且未被篡改。
解密文本
使用自己的私钥解密别人使用你的公钥加密的消息。
解密时同时验证签名
如果发送方在加密时签了名,勾选“解密时同时使用发送方公钥验证签名”,并提供发送方公钥。成功后状态栏会明确显示“签名有效”。
签名(复杂版)
数字签名用于证明消息来自私钥持有者,并检测内容是否被修改;签名本身不会隐藏文本。
验证签名(复杂版)
使用签名者的公钥确认签名是否有效。
密钥文件
上传功能支持文本和二进制 OpenPGP 密钥。
ASCII Armor 文本密钥
.asc 或 .txt 文件,内容是可阅读文本,公钥通常以 BEGIN PGP PUBLIC KEY BLOCK 开头,私钥通常以 BEGIN PGP PRIVATE KEY BLOCK 开头。
二进制密钥
.pgp 或 .gpg 文件可能是二进制格式。选择文件后,工具会自动解析并转换为页面可显示的文本格式。
安全建议
- 私钥只保存在你控制的设备和加密备份中,不要给任何人。
- 通过可信渠道,确定你拿到的收信人的公钥,真的属于收信人。避免使用被替换的公钥。
- 发送密钥前再次确认:发送的是公钥,而不是私钥。
- 在公共电脑使用后,关闭页面并清除下载文件和剪贴板内容。
常见问题
为什么提示“公钥无效”?
请确认粘贴或上传的是完整公钥,没有缺少开头、结尾或中间内容。
为什么无法解密?
常见原因包括私钥与公钥不匹配、私钥密码错误,或加密消息复制不完整。
刷新页面后内容还在吗?
不会。页面没有保存输入内容,刷新或关闭前请先复制或下载所需结果。
能把私钥发给对方吗?
不能。只发送公钥。私钥一旦泄露,其他人可能解密发给你的信息。