📖 术语
🟢 通俗解释
🔰 新手
🔑 公钥密码学 Asymmetric Cryptography
用一对配套的密钥来保护信息:一把是可以公开给任何人的公钥,一把是自己保密的私钥。加密钱包、数字签名,乃至浏览器地址栏里那把小锁,背后都是这套数学。
💡
常见误解 — 把公钥(或钱包地址)告诉别人,有风险吗?没有!公钥本来就是给人看的——别人靠它给你转币、核验你的签名。它没法反推回私钥。真正要守住的秘密,只有私钥。
📮 一句话讲明白 — 一只两半的信箱
想象街边的一只信箱。上面的投信口是敞开的,谁都能塞封信进去;可只有箱子主人手里那把钥匙,才能打开来读里面的信。公钥密码学就是这个道理。公钥是你随手发出去的投信口,私钥是揣在你口袋里的那把钥匙。两者一起生成、在数学上相互关联,但想单凭公钥反推出私钥,算力上根本做不到。
🔁 一对密钥能干的两件事
这对钥匙能双向运转,妙处全在这里——用一把上的锁,只有另一把能开。
| 方向 | 能给你什么 |
|---|---|
| 🔒 用公钥上锁 | 只有配套的私钥能打开 → 私密通信(保密性) |
| ✍️ 用私钥签名 | 任何持有公钥的人都能验证它真实、未被篡改 → 数字签名(身份) |
📨 比起老式的「共用同一个秘密」加密,它最大的好处是:两个素不相识的人也能安全交谈,事先完全不必互换任何秘密。私钥从头到尾都不用上路,路上也就没什么可拦截的。
🪙 为什么没有它就没有加密货币
这一段,正是新手每天都在打交道的部分。一个加密钱包,说到底就是一把私钥。配套的公钥经过哈希函数处理,就得到你的收款地址——那串发给别人用来收款的短字符。转币,就是用私钥给这笔交易签名,网络上的每个节点都会拿你的公钥去核对这个签名,确认无误才接受。谁掌握私钥,谁就掌握这些币。「私钥不在手,币就不是你的」说的就是这个理。
比特币和以太坊给交易签名,用的都是同一条 secp256k1 椭圆曲线上的 ECDSA 算法。两者的地址都是公钥的哈希形式:比特币先跑 SHA-256 再跑 RIPEMD-160,以太坊则取 Keccak-256 哈希的后 20 个字节。所以你看到的地址并不是公钥本身,而是它缩短后的一枚指纹。
🚨 新手须知
- 🙅 地址 ≠ 私钥 — 你的地址(公钥的哈希)贴到哪儿都安全;私钥和它的备份助记词则不行
- 🔓 单向的数学 — 没法从公钥或地址反推出私钥,但谁拿到你的私钥,谁就拿到了一切
- 🌐 你早就在用它 — 同样的原理也守护着 HTTPS、加密邮件,以及浏览器里那把小锁,远不止加密货币
- 🔭 放眼未来 — 未来的量子计算机或许会威胁今天的算法,因此抗量子标准的研究已经起步;但它还没进入主流钱包
❓ 常见问题
- 把公钥或钱包地址告诉别人,会有危险吗?
- 不会。公钥(以及由它生成的地址)本来就是用来公开的——别人靠它给你转币,任何人也靠它来核验你的签名。从公钥反推私钥是做不到的。唯一绝不能外泄的,只有私钥本身。
- 公钥和私钥有什么区别?
- 它们是一起生成的一对。私钥是你保密的那把,公钥由它推导出来、可以随意公开。用公钥加密的数据只有私钥能打开,用私钥签名的数据则任何持有公钥的人都能验证。
- 这跟加密钱包有什么关系?
- 钱包本质上就是一把私钥。你的收款地址,是配套公钥经过哈希后的缩短形式。花币就是用私钥给交易签名,网络节点再用公钥来核验。这正是「私钥不在手,币就不是你的」这句话的由来。