📖 术语 🟢 通俗解释 🔰 新手

🔐 PGP Pretty Good Privacy

一款加密软件:把消息或文件打乱,只有指定的收件人能读懂;再加上数字签名,谁都能核对是谁发的、内容有没有被改过。1991 年由 Phil Zimmermann 首次发布。

💡
常见误解 — PGP 签名验证通过,就说明软件安全?单凭这点可不行!签名只能证明文件确实出自密钥持有者、且没被改过,它没法告诉你软件本身无害;要是公钥来路不明,验证更是白搭。
谁都能上锁👤发件人 A 🔓👤发件人 B 🔓👤发件人 C 🔓大家共用同一把公钥🔒📦封好的消息🔑持有者唯一的私钥才能开锁只有持有者能解锁
🔓 谁都能用你公开的公钥把消息锁上 → 🔒📦 它一路封着传送 → 🔑 但只有你那把唯一的私钥能打开私钥一旦丢了,这条消息就永远开不了锁。

📮 通俗来说 — 谁都能投递,却只有一把钥匙能取

想象一个正面开着投信口的信箱。路过的人都能把锁好的箱子从口子塞进去,但只有箱主手里那把钥匙能打开信箱、把东西取出来。PGP 就是这么个道理。你的公钥就是那个投信口,可以随便发给别人;你的私钥是开信箱的钥匙——得自己藏好。别人用你的公钥把消息锁给你,而只有你的私钥能解开它。

🧩 为什么要用两种加密?(混合加密)

公钥加密这套很巧妙,可碰上大文件就慢。所以 PGP 走的是混合路线:两种加密一起上,既要速度又要省心。

步骤发生了什么
🗜️ 压缩消息通常先压小一点,既省空间,也有助于安全
🎲 生成会话密钥临时生成一把随机密钥,快速把消息锁上(这是又快又对称的那部分)
🔒 锁住会话密钥这把临时密钥本身,再用收件人的公钥锁起来
🔑 双重解锁收件人用私钥先解开会话密钥,会话密钥再解开消息

🎲 每发一条消息都会重新生成一把会话密钥,所以就算攻击者破解了其中一把,对下一条消息也一无所知。

✍️ 数字签名 — 证明是谁发的

加密是把消息藏起来。数字签名干的恰恰是反过来的活:证明是谁写的,以及没人动过它。发件人先给消息取一段简短的「指纹」(也就是哈希),再用自己的私钥把这段指纹锁上。任何人都能用发件人的公钥解开它,重新算一遍指纹——两边对得上,就说明消息货真价实、分毫未改。

🤝 信任网络(Web of Trust)

还剩一个难题:你怎么确定一把公钥真的属于你以为的那个人?在网上,浏览器是信任少数几家中心机构来背书。PGP 走的却是另一条路,叫信任网络——不靠一个中心化的守门人,而是用户之间互相为对方的密钥签名、彼此担保。你已经信任的人为某把密钥签了名,你也就能信它。这是一种去中心化的信任,一个人传一个人地搭建起来。

🪙 加密货币里哪儿会碰到 PGP

大多数新手第一次遇到 PGP,都是在核验钱包或节点软件是不是真货的时候。项目方在发布软件时,会一并附上 PGP 签名和自己的公钥。你拿下载的文件去对这份签名,就能确认它没被掉包——哪怕托管它的网站被黑了也照样能查出来。这背后用的,正是加密货币钱包所依赖的那套公钥加密的公私钥思路。

  • 📥 核验下载 — Electrum、Bitcoin Core、Ledger Live 的发布版本都附带 PGP 签名,官方建议你核对一下
  • 🛠️ 用的工具 — 大多数人用 GnuPG(GPG),常配上 Kleopatra 这类好用的图形界面
  • 🚩 公钥要拿对 — 一定要从项目的官方渠道拿它的公钥并核对指纹,否则整道验证毫无意义

❓ 常见问题

PGP 签名验证通过,就说明这个软件可以放心安装吗?
不是。签名验证通过,只能证明文件确实出自那把密钥的持有者,且在传到你手里的途中没被改动。它并不能证明软件本身没有 bug、对你无害。而且如果你拿到的公钥本身来路不明,这道验证就形同虚设——所以一定要从项目的官方渠道获取公钥,并核对指纹。
PGP 只能用在电子邮件上吗?
不是。它确实是从电子邮件起家的,但同一套工具如今也能给文件加密和签名,还用来给软件发布版本签名。在加密货币圈里,最常见的用途是核验你下载的钱包或节点软件是不是正版。
PGP、OpenPGP、GPG 三者有什么区别?
PGP 是 1991 年的那款原始软件。OpenPGP 是在它基础上发展出来的开放标准,规定了密钥和加密消息的格式。GnuPG(也就是 GPG)则是遵循这套标准的免费开源程序,也是今天大多数人实际在用的。

🔗 相关术语 · 币种