03 对称加密算法与分组模式(Algorithms & Modes of Operation)
Domain 3 · 分组密码的 7 种模式 + 主流算法 DES/3DES/AES
一句话秒懂
对称算法怎么”切数据来加密”有 7 种套路(模式);而具体用哪把”锁”有 DES、3DES、AES 等。其中 AES 是当今标准,ECB 是最弱模式要避开。
生活类比
模式(mode)像”怎么把长信分段加密”:最简单是每段单独锁(ECB,但相同段落锁出来一样,易泄露规律);更好的是每段锁时掺入上一段的痕迹(CBC),让相同内容每次都不同。
核心概念(大白话 + 原书定义)
1. 分组密码模式(Block Cipher Modes)
| 模式 | 特点 | 安全性 | |—|—|—| | ECB(电子密码本) | 每块独立加密,相同明文→相同密文 | 最弱,仅用于极短数据/密钥交换 | | CBC(密码分组链接) | 每块与前一块密文 XOR(首块用 IV),错误会传播 | 仅保密,未认证 | | CFB | CBC 的流版本,实时数据 | 仅保密 | | OFB | 用种子值 XOR,错误不传播 | 仅保密 | | CTR(计数器) | 计数器生成密钥流,可并行 | 仅保密 | | GCM(Galois/CTR) | CTR + 认证标签 | 认证模式(保密+完整) | | CCM | CTR + CBC-MAC | 认证模式(保密+完整) |
分类:ECB/CBC/CFB/OFB/CTR = 未认证模式(只保密);GCM/CCM = 认证模式(保密+完整性)。GCM/CCM 用于需要防篡改的场景。
2. 主流对称算法
- DES(数据加密标准,1977):64 位分组、64 位密钥但仅 56 位有效(其余 8 位奇偶校验),16 轮。已不安全,被 AES 取代。仍重要因为它是 3DES 的组件。
- 3DES(三重 DES):用 2–3 把独立密钥反复加-解-加(如 EDE3:E(K1,D(K2,E(K3,P)))。理论 168 位,实际因攻击降至 112 位。2024 年 1 月 1 日起美国联邦政府禁用 3DES;私有行业仍可见,但应避免。
- IDEA:64 位分组、128 位密钥,曾用于 PGP。
- Blowfish:64 位分组,密钥 32–448 位可变,比 DES/IDEA 快,用于 SSH。
- RC 系列(Rivest Ciphers):
- RC4:流密码,密钥 40–2048 位,曾用于 WEP/WPA/SSL/TLS,现已被攻破不安全,TLS 已禁用。
- RC5 / RC6:分组密码;RC6 曾是 AES 候选但未入选。
- AES(高级加密标准,FIPS 197,2001):当今标准,用于美国政府敏感但未机密数据。
- 算法=Rijndael;固定 128 位分组;密钥三选一:128/192/256 位。
- 轮数随密钥长度:128→10 轮,192→12 轮,256→14 轮。
- 一句话:要最强就选 AES-256。
真实案例
- WEP 之死:WEP 用 RC4,因 RC4 漏洞 + 实现缺陷被轻易破解,Wi-Fi 安全从 WEP→WPA→WPA2/AES 演进,印证”弱算法必须淘汰”。
- 3DES 退场:联邦 2024 禁用,说明算法也有”保质期”。
考试怎么考
- 题型 A:问”哪种模式提供保密+完整性认证” → GCM 或 CCM;问”最不安全、相同明文出相同密文” → ECB。
- 题型 B:AES 轮数(128→10 / 192→12 / 256→14);DES 有效密钥 56 位;3DES 实际强度 112 位。
- 必记混淆项:① DES 密钥常写 64 位但有效 56 位;② ECB 弱、仅短数据;③ AES 固定块 128、可变密钥;④ 3DES 2024 联邦禁用、RC4 已不安全。
记忆口诀
“模式七种:ECB 最弱、CBC/CFB/OFB/CTR 只保密、GCM/CCM 带认证;算法认 AES(128块、轮数10/12/14);DES 56、3DES 112 且 24 年起联邦禁用;RC4 流密码已废。”
自测
- 若使用 AES-256 加密,算法执行多少轮加密?(答:14 轮)
- 在需要同时保证数据保密性和完整性的场景中,应优先选用哪类分组模式?(答:认证模式 GCM 或 CCM)