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;量子来了要提早防。”
自测
- 在同等安全强度下,ECC 与 RSA 的密钥长度大致分别是多少?(答:ECC 约 256 位,RSA 约 3072 位)
- Diffie–Hellman 算法主要解决什么问题?(答:在不安全信道上让双方协商出共享秘密密钥,用于混合密码学的密钥交换)