公钥丢了,能用私钥重新算出来吗?

能。对常见的 ECC 和 RSA 来说,私钥里本身就包含(或者能确定地推出)算公钥所需的一切。反过来——从公钥算私钥——在设计上就是算不出来的。

椭圆曲线(ECDSA / Ed25519 / …)

公钥 = 私钥数字 × 生成点。只要私钥还在、曲线没搞错,随时都能把公钥重新算一遍。

RSA

RSA 私钥的结构里带着两个大素数(或者 CRT 参数),公钥的模数和指数可以直接拿到或者算出来。只拿着公钥,是推不出那两个素数的。

做不到的事

只有公钥或地址,没法还原私钥——这正是整个体系安全的前提。要是私钥和备份全丢了,这对密钥就彻底没了,就像至尊戒掉进了火山口。

安全提醒:所有计算都在你自己的浏览器里,用本地的代码库完成,什么都不会上传。建议用测试密钥。用完请点“清空”。存着真钱的私钥,别往你不信任的网页里贴。

工具 A — 椭圆曲线

工具 B — RSA