01 非对称加密算法(Asymmetric Algorithms)

Domain 3 · 公钥密码学的四大算法 + 密钥长度 + 后量子

一句话秒懂

非对称加密用”公钥加密、私钥解密”解决密钥分发难题。主流算法有 RSA、Diffie-Hellman、ElGamal、ECC;它们的强度靠”数学难题”撑着,而密钥要更长才等效于对称加密

生活类比

RSA 像”两个大质数相乘容易、分解回质数极难”——你把门牌号(乘积)公开,但只有你知道是哪两个质数拼的(私钥)。ECC 则是”在椭圆曲线上做加法容易、反过来求倍数极难”。

核心概念(大白话 + 原书定义)

1. 公钥/私钥基本模型

  • 每人一对密钥:公钥公开、私钥保密
  • 收件人公钥加密 → 只有收件人私钥能解(连发件人都解不开)。
  • 公钥可经不安全渠道自由分发而不削弱安全。

2. 四大非对称算法

| 算法 | 数学基础 | 要点 | |—|—|—| | RSA(1977) | 大质数乘积的因式分解难题 | 最著名,已公开领域;C=Pᵉ mod n,P=Cᵈ mod n | | Diffie–Hellman (DH) | 离散对数 | 用于密钥交换(双方不传密钥也能协商出共享秘密)→ 混合密码学基础 | | ElGamal | 基于 DH 扩展 | 免费开放;缺点:密文是明文两倍大 | | ECC(椭圆曲线) | 椭圆曲线离散对数(ECDLP) | 比 RSA/DLP 更难同等强度密钥最短 |

3. 密钥长度对照(同等安全强度)

| 体系 | 密钥长度 | |—|—| | 对称 | 128 位 | | RSA | 3,072 位 | | ECC | 256 位 |

也就是说:256 位 ECC ≈ 3072 位 RSA ≈ 128 位对称。ECC 用短密钥获高安全,特别适合移动/物联网等资源受限设备。

4. 密钥长度的重要性

  • 数据越关键、需保密越久 → 密钥越长。
  • 摩尔定律(算力约两年翻倍)+ 云上可租 GPU 算力,使攻击成本下降。若数据十年后仍敏感,须选更长密钥抵御未来算力。

5. 后量子密码学(Post-Quantum)

量子计算可能颠覆现有体系(如用未来算力解密今天截获的密文——”先截后解 harvest now, decrypt later”)。安全人员现在就要考虑数据的长期敏感性。NIST 已推进后量子标准(如 Kyber/Dilithium,书中以 SHA-3/Keccak 及概念形式提及,关注趋势即可)。

真实案例

  • ElGamal 的”双倍膨胀”:加密后数据量翻倍,传大数据时很吃亏——这是它不如 RSA 普及的现实原因。
  • 云算力租户攻击:攻击者按小时租 GPU 暴力破解,非对称长密钥更显必要。

考试怎么考

  • 题型 A:问”哪种非对称算法基于大质数因式分解” → RSA;问”密钥交换用哪种” → Diffie–Hellman
  • 题型 B:给同等强度,问 RSA 与 ECC 的密钥长度 → RSA 3072 / ECC 256
  • 必记混淆项:① 公钥加密用收件人公钥、私钥解;② ECC 短密钥高安全;③ 非对称密钥比对称长得多才等效;④ DH 是密钥交换不是加密算法本体。

记忆口诀

“RSA 靠分解、DH 管交换、ElGamal 翻倍大、ECC 短而强;同等强度:对256 / RSA 3072 / 对称128;量子来了要提早防。”

自测

  1. 在同等安全强度下,ECC 与 RSA 的密钥长度大致分别是多少?(答:ECC 约 256 位,RSA 约 3072 位)
  2. Diffie–Hellman 算法主要解决什么问题?(答:在不安全信道上让双方协商出共享秘密密钥,用于混合密码学的密钥交换)

This site uses Just the Docs, a documentation theme for Jekyll.