非对称加密Asymmetric Encryption)是使用一对相关密钥的密码学机制:公钥 可以公开,私钥 必须保密;用公钥完成的某些操作,只有对应私钥才能反向完成或证明。

核心问题

在开放网络里,通信双方通常没有机会提前安全共享同一把秘密密钥。非对称加密解决的是“如何在不先共享秘密的情况下建立安全关系”的问题。

它的关键价值不是速度,而是密钥分发和信任表达:公钥 可以公开传播,私钥 只由持有者保管。这样就能支持加密、密钥交换数字签名证书体系 和软件签名。

核心机制

非对称密码学依赖一类数学问题:正向计算容易,反向求解在没有私钥时非常困难。不同算法的困难问题不同,例如 RSA 基于大整数分解,椭圆曲线方案基于离散对数问题。

以椭圆曲线方案为例,私钥 d 是一个随机大整数,公钥 Q 是:

Q = dG

这里 G 是公开固定基点,dG椭圆曲线标量乘法。这不是把坐标简单乘以 d,而是把曲线点按点加法重复相加。算法公开、曲线参数公开、公钥公开都不破坏安全性;安全性来自“从 QG 反推出 d 很难”。

用于保密通信时,典型形式是:

其中 pk公钥sk私钥。任何人都能用公钥加密消息,但只有私钥持有者能解密。

不过真实系统很少直接用非对称算法加密大数据,而是使用 混合加密:非对称部分只负责建立或包裹会话密钥,大量数据交给 对称加密

工程用途

  • 密钥建立:TLS、SSH、VPN 中建立会话密钥。
  • 数字证书:把域名、组织或设备身份绑定到 公钥
  • 软件与代码签名:证明发布物来自某个 私钥 持有者且未被篡改。
  • 端到端加密:用接收方 公钥 保护会话密钥或消息密钥。
  • 区块链钱包私钥 控制地址资产,签名证明交易授权。

观察指标包括密钥长度、证书 有效期、算法族、签名验证失败率、密钥轮换私钥 存储方式和旧算法残留。

边界与常见坑

  • 非对称加密不等于更强的对称加密:它解决的问题不同,通常更慢,不适合直接加密大量数据。
  • 公钥可信性需要验证:拿到一个 公钥 不等于拿到“正确的人”的公钥,需要 证书、指纹、信任链或带外确认。
  • 签名不是加密:签名提供来源认证和完整性,不提供机密性。
  • 不要使用 textbook RSA:没有安全填充的 RSA 加密和签名都容易被攻击。
  • 私钥泄露是根本失效私钥 一旦泄露,攻击者可以解密、签名或冒充身份,必须撤销和轮换。
  • 量子风险不同:RSA 和椭圆曲线这类传统公钥算法受到未来大规模量子计算威胁,对称算法受影响相对小。

相关术语