加密算法索引

加密算法(Encryption Algorithm)是将明文数据转化为密文的数学函数,用于保护信息的机密性和完整性。加密算法是信息安全的基石,广泛应用于网络通信、数据存储、身份认证、数字签名等领域。本页是加密算法的系统索引,涵盖对称加密、非对称加密、流密码、分组模式、国密算法和后量子密码等主要类别。

简介

加密算法按密钥管理方式分为两大类:对称加密(加密和解密使用同一密钥)和非对称加密(使用公钥/私钥对)。对称加密速度快,适合大数据量加密;非对称加密解决了密钥分发问题,适合密钥交换和数字签名。实际系统通常将两者结合使用——用非对称加密交换会话密钥,再用对称加密处理数据。

评价加密算法的主要指标包括:安全强度(密钥长度与抗攻击能力)、速度(加解密吞吐量)、分组/流模式硬件友好性以及标准化程度

分类总览
类别典型算法主要用途密钥特征
分组密码AES, DES/3DES, Blowfish, SM4数据加密、文件加密对称,固定分组
流密码ChaCha20, RC4, A5/1实时通信、流式数据对称,逐字节/字
公钥加密RSA, ElGamal, SM2密钥交换、数字签名非对称,公钥/私钥
椭圆曲线ECDH, ECDSA, Ed25519高效密钥交换与签名非对称,短密钥
密钥交换Diffie-Hellman, X25519安全协商会话密钥非对称/协议
后量子Kyber, Dilithium, SPHINCS+抵抗量子计算攻击格/哈希/编码
分组密码(对称加密)
流密码
分组加密模式

分组密码本身只能加密固定长度的数据块,需要加密模式将其扩展为可处理任意长度数据的方案。以下是主要的分组加密模式:

模式全称并行加密并行解密随机访问认证推荐
ECBElectronic Codebook不推荐
CBCCipher Block Chaining常见但需配合 HMAC
CTRCounter良好(需配合 MAC)
GCMGalois/Counter Mode推荐 (AEAD)
CCMCounter with CBC-MAC推荐 (AEAD)
XTSXEX-based Tweaked-codebook磁盘加密专用

AEAD(Authenticated Encryption with Associated Data)模式(如 GCM、CCM)同时提供加密和认证,是现代加密的最佳实践。TLS 1.3 仅支持 AEAD 模式。

公钥加密算法(非对称加密)
椭圆曲线算法对比
算法曲线功能密钥长度特点
ECDSAP-256, P-384, P-521数字签名256/384/521 bitNIST 标准,广泛使用
ECDHP-256, P-384, X25519密钥交换256/384 bitTLS 核心组件
Ed25519Curve25519签名256 bitBernstein 设计,快速安全
X25519Curve25519密钥交换256 bitTLS 1.3 默认密钥交换
Ed448Curve448签名448 bit更高安全裕度
SM2SM2 P-256签名/加密/交换256 bit国密标准
国密算法体系

中国国家密码管理局发布的商用密码算法体系,覆盖加密、签名、哈希和密钥交换:

算法类型对标国际标准标准号
SM1分组密码(硬件)AES保密
SM2公钥密码(椭圆曲线)ECDSA/ECDHGM/T 0003
SM3密码杂凑SHA-256GM/T 0004
SM4分组密码(软件)AES-128GM/T 0002
SM7分组密码(轻量级)PRESENTGM/T 0008
SM9标识密码(IBC)无直接对标GM/T 0007
密钥交换协议
协议基础前向保密典型应用
DH (经典)有限域离散对数是(DHE)传统 TLS
ECDH椭圆曲线离散对数是(ECDHE)TLS 1.2/1.3
X25519Curve25519TLS 1.3 默认,WireGuard
RSA 密钥交换大整数分解旧版 TLS(已弃用)
PSK预共享密钥TLS-PSK,IoT
后量子密码学

量子计算机对现有密码体系构成威胁:Shor 算法可破解 RSA/ECC,Grover 算法可将对称密钥安全强度减半。后量子密码(PQC)使用抗量子计算攻击的数学难题。

发展时间线

专题:模格密码学数学基础 — 从零讲清格、多项式环、LWE/SIS 等后量子密码核心数学概念

年份事件
1976Diffie-Hellman 密钥交换协议发布,开创公钥密码学
1977RSA 公钥密码系统发布
1977DES 成为美国联邦加密标准
1985椭圆曲线密码学(ECC)概念提出(Koblitz, Miller)
1987RC4 流密码设计(Rivest)
1991DSA 数字签名算法标准化(FIPS 186)
1993Blowfish 发布(Schneier)
1998Twofish 参加 AES 竞赛;DES 被 EFF 破解
2001AES (Rijndael) 成为新标准(FIPS 197)
20043DES 逐渐淘汰,PCI DSS 要求迁移到 AES
2006SM4 分组密码发布
2008ChaCha20-Poly1305 发布(Bernstein)
2010SM2 椭圆曲线公钥密码标准发布
2013Curve25519 (X25519/Ed25519) 开始广泛部署
2015RC4 在 TLS 中被正式禁用(RFC 7465)
2018NIST 启动后量子密码标准化进程
20233DES 在 PCI DSS 4.0 中被正式淘汰
2024NIST 发布 FIPS 203/204/205(ML-KEM, ML-DSA, SLH-DSA)后量子标准
参考文献
  1. NIST (2001). "Advanced Encryption Standard (AES)". FIPS PUB 197.
  2. NIST (1977). "Data Encryption Standard". FIPS PUB 46.
  3. Rivest, R., Shamir, A., Adleman, L. (1978). "A Method for Obtaining Digital Signatures and Public-Key Cryptosystems". Communications of the ACM. 21 (2): 120–126.
  4. Diffie, W., Hellman, M. (1976). "New Directions in Cryptography". IEEE Transactions on Information Theory. 22 (6): 644–654.
  5. Bernstein, D.J. (2008). "ChaCha, a variant of Salsa20". IACR ePrint 2008.
  6. Koblitz, N. (1987). "Elliptic Curve Cryptosystems". Mathematics of Computation. 48 (177): 203–209.
  7. 国家密码管理局. GM/T 0002-2012 "SM4 分组密码算法"; GM/T 0003-2012 "SM2 椭圆曲线公钥密码算法".
  8. NIST (2024). "Module-Lattice-Based Key-Encapsulation Mechanism". FIPS 203 (ML-KEM).
  9. NIST (2024). "Module-Lattice-Based Digital Signature Algorithm". FIPS 204 (ML-DSA).
参见