1.1 非对称加密概述:公钥与私钥体系

非对称加密(Asymmetric Cryptography),又称公钥密码学(Public-Key Cryptography),是现代密码学中最重要的革命性突破之一。它解决了对称加密中密钥分发与管理的核心难题,为数字签名、密钥交换、安全通信等场景提供了基础支撑。

1.1.1 公钥与私钥体系

在非对称加密体系中,每个通信实体拥有一对数学上关联但功能分离的密钥:

  • 公钥(Public Key):公开分发,任何人均可获取。用于加密数据或验证数字签名。
  • 私钥(Private Key):秘密保存,仅所有者持有。用于解密数据或生成数字签名。

公钥与私钥的核心特性是:从公钥推导出私钥在计算上不可行。这一性质保证了即使公钥被广泛传播,私钥的安全性依然不受威胁。

关键概念:非对称加密中,加密与解密使用不同的密钥。发送方使用接收方的公钥加密消息,只有持有对应私钥的接收方才能解密。这一机制彻底消除了对称加密中需要预先共享密钥的安全信道需求。
非对称加密通信流程 发送方 Alice 持有:明文 M 接收方 Bob 持有:私钥 SK 公钥 PK 公钥分发(公开信道) 加密:C = E(PK, M) 密文 C(公开信道) 解密:M = D(SK, C) 明文 M

1.1.2 对称加密与非对称加密对比

对称加密与非对称加密在密钥管理、性能、安全属性等方面存在显著差异。下表从多个维度进行系统对比:

对比维度 对称加密 非对称加密
密钥数量 通信双方共享同一密钥 每个实体拥有一对密钥(公钥+私钥)
密钥分发 需要安全信道预先分发密钥 公钥可通过公开信道分发,无需安全信道
密钥规模 n 个实体需 n(n-1)/2 个密钥对 n 个实体仅需 n 个密钥对
加密速度 快(硬件加速可达 Gbps 级) 慢(通常比对称加密慢 1000 倍以上)
典型算法 AES、ChaCha20、SM4 RSA、ECC(ECDSA、ECDH)、SM2
主要用途 批量数据加密 密钥交换、数字签名、身份认证
安全基础 混淆与扩散(置换-代换) 数学难题(大整数分解、离散对数)
抗量子攻击 部分算法受影响(如 AES-256 仍安全) RSA/ECC 均受 Shor 算法威胁
工程实践建议:实际系统中通常采用混合加密(Hybrid Encryption)方案——使用非对称加密安全地交换对称密钥,再使用对称加密高效地加密实际数据。例如 TLS 协议中,握手阶段使用 ECDHE 或 RSA 交换会话密钥,记录层使用 AES-GCM 加密应用数据。

1.1.3 非对称加密的数学基础:单向函数与陷门函数

非对称加密的安全性建立在特定的数学难题之上。这些难题的核心是单向函数(One-way Function)与陷门函数(Trapdoor Function)的概念。

单向函数

单向函数是指满足以下两个性质的函数 f : X → Y:

  1. 易于计算:对于任意输入 x ∈ X,可以在多项式时间内计算出 f(x)。
  2. 难于求逆:对于任意输出 y ∈ Y,在多项式时间内找到满足 f(x) = y 的 x 在计算上不可行。

单向函数的存在是密码学安全性的基础,但尚未被严格证明。目前使用的单向函数均基于计算复杂性假设,即某些数学问题在经典计算机上不存在多项式时间算法。

陷门函数

陷门函数是单向函数的一种特殊形式,它额外包含一个陷门信息(Trapdoor)。拥有陷门信息时,求逆变得容易;没有陷门信息时,求逆仍然困难。这正是非对称加密的核心机制:

  • 公钥:定义陷门函数的正向计算规则(加密)。
  • 私钥:提供陷门信息,使逆向计算(解密)可行。
安全警告:所有基于单向函数和陷门函数的非对称加密算法,其安全性都依赖于尚未被证明的数学假设。一旦出现突破性算法(如量子计算机上的 Shor 算法),RSA、ECC 等主流算法将面临根本性威胁。后量子密码学(Post-Quantum Cryptography)正是为应对这一挑战而发展。
单向函数与陷门函数对比 单向函数 输入 x f(x) 易 输出 y 求逆:计算不可行 陷门函数 输入 x f(x) 易 输出 y 无陷门:不可行 有陷门 t:求逆可行 非对称加密中的陷门函数实例 RSA 陷门:大整数分解问题 正向:c = m^e mod n(模幂运算,快速) 逆向(无陷门):已知 c, e, n,求 m(大整数分解,困难) 逆向(有陷门):已知 c, d, n,m = c^d mod n(d 为私钥陷门)

经典数学难题

当前主流非对称加密算法依赖以下三类数学难题:

难题类型 数学描述 典型算法 安全强度(比特)
大整数分解
(IFP)
给定大合数 n = p × q,求其素因子 p, q RSA、Rabin 2048 位 RSA ≈ 112 比特安全
离散对数
(DLP)
给定素数 p 和生成元 g,已知 g^x mod p,求 x DSA、ElGamal、DH 2048 位 DLP ≈ 112 比特安全
椭圆曲线离散对数
(ECDLP)
给定椭圆曲线上的点 G 和 Q = kG,求标量 k ECDSA、ECDH、SM2、EdDSA 256 位 ECC ≈ 128 比特安全
性能与安全权衡:ECC 在同等安全强度下所需的密钥长度远小于 RSA。例如,128 比特安全级别下,RSA 需要 3072 位密钥,而 ECC 仅需 256 位密钥。这使得 ECC 在资源受限设备(如 IoT 终端、智能卡)中具有显著优势,也是当前非对称加密优化的重点方向。