8种国密模式简介
1 背景简介
本文以 SM4 分组密码为核心,系统、深入地解读你提到的 8 种主流工作模式:
ECB、CBC、CFB、OFB、CTR、GCM、CCM、XTS。

内容覆盖:工作原理、安全性、优缺点、典型应用场景、是否推荐,便于工程选型与合规评估。
- SM4:
国密对称分组密码
分组长度:128 bit(16 字节)
密钥长度:128 bit
- 工作模式的作用:
将“只能处理固定长度分组”的 SM4,扩展为可安全加密任意长度数据的方案
⚠️ 安全性 ≠ 算法本身,还高度依赖工作模式
2 ECB(Electronic Codebook)
- 1️⃣ 工作原理
每个明文分组 独立加密:
Ci = SM4(K, Pi)
- 2️⃣ 特点
不使用 IV
相同明文块 → 相同密文块
- 3️⃣ 安全性
❌ 极不安全
会泄露明文结构
易受重放、统计分析攻击
- 4️⃣ 优 点
优点
实现简单
可并行
缺点
严重泄露模式
不具备语义安全
- 5️⃣ 应用现状
❌ 严禁用于敏感数据
仅在 测试、教学、兼容老系统 中偶尔出现
ECB 已被密码学界判“死刑”
3 CBC(Cipher Block Chaining)
-
1️⃣ 工作原理
C0 = IV
Ci = SM4(K, Pi ⊕ Ci-1) -
2️⃣ 特点
使用 随机 IV
每块密文依赖前一块
- 3️⃣ 安全性
⚠️ 中等安全
抵抗模式泄露
不防篡改
易受 Padding Oracle 攻击
- 4️⃣ 优 点
优点
实现成熟
广泛支持
比 ECB 安全
缺点
需要填充
解密串行
比ECB安全,但是易被填充攻击
5️⃣ 应用场景
传统文件加密
老国密系统、VPN、TLS 旧版本
能用,但不再推荐新系统使用
4 CFB(Cipher Feedback)
- 1️⃣ 工作原理
将分组密码“转成流密码”:
Ci = Pi ⊕ SM4(K, Ci-1)
- 2️⃣ 特点
不需要填充
支持按字节/位加密
- 3️⃣ 安全性
⚠️ 中等
抵抗明文结构泄露
不具备完整性保护
- 4️⃣ 优缺点
优点
支持流式数据
无填充
适合通信
缺点
误差扩散
性能一般
不认证数据
5️⃣ 应用
实时通信
串口、流式链路
逐渐被 CTR / AEAD 模式取代
5 OFB(Output Feedback)
- 1️⃣ 工作原理
Oi = SM4(K, Oi-1)
Ci = Pi ⊕ Oi
- 2️⃣ 特点
完全变成流密码
错误不扩散
- 3️⃣ 安全性
⚠️ 中等
IV 绝不能复用
不防篡改
- 4️⃣ 优缺点
优点
错误不扩散
预计算
无填充
缺点
IV 复用即灾难
无完整性
不并行
工程中较少使用,CTR 更优
6 CTR(Counter Mode)
- 1️⃣ 工作原理
Ci = Pi ⊕ SM4(K, Nonce || Counter)
- 2️⃣ 特点
把 SM4 当 高性能流密码
完全可并行
- 3️⃣ 安全性
⚠️ 高(仅加密)
Nonce 不能重复
不提供完整性
- 4️⃣ 优缺点
优点
高性能
并行
无填充
缺点
需配合 MAC
重放攻击
不防篡改
- 5️⃣ 应用
高速通信
数据存储加密(需 MAC)
常与 SM3/HMAC 组合使用
7、GCM(Galois/Counter Mode) ⭐⭐⭐⭐⭐
- 1️⃣ 工作原理
CTR 加密 + GHASH 认证
AEAD 模式(加密 + 完整性)
- 2️⃣ 特点
一次完成:加密 + 认证
支持 AAD(附加认证数据)
- 3️⃣ 安全性
✅ 非常高
防篡改
防重放
防选择密文攻击
- 4️⃣ 优缺点
优点
高安全
高性能
工业标准
缺点
实现复杂
对 IV 管理要求高
需要硬件支持更佳
5️⃣ 应用
TLS / HTTPS
VPN
国密 SSL(SM4-GCM)
现代系统首选模式
8、CCM(Counter with CBC-MAC)
- 1️⃣ 工作原理
CTR 加密
CBC-MAC 认证
- 2️⃣ 特点
AEAD 模式
结构比 GCM 简单
- 3️⃣ 安全性
✅ 高
防篡改
防重放
-
4️⃣ 优缺点
优点
标准成熟
易实现
嵌入式友好缺点
性能低于 GCM
串行,不易并行 -
5️⃣ 应用
物联网
嵌入式设备
国密终端
嵌入式优选,服务器偏向 GCM
9 XTS(XEX-based Tweaked CodeBook)
- 1️⃣ 工作原理
针对 磁盘扇区
每个扇区使用 tweak(微调值)
- 2️⃣ 特点
防止扇区复制攻击
需要 两个密钥
- 3️⃣ 安全性
✅ 高(存储场景)
不提供认证
不适合通信
- 4️⃣ 优缺点
优点
适合磁盘
防复制
标准化
缺点
不认证数据
不适合网络
需双密钥
5️⃣ 应用
全盘加密
数据库页加密
安全存储
存储加密专用模式
10 小结
模式选型一览表
模式 安全性 完整性 推荐度 典型用途
ECB ❌ ❌ ❌ 禁用
CBC ⚠️ ❌ ⚠️ 老系统
CFB ⚠️ ❌ ⚠️ 流通信
OFB ⚠️ ❌ ⚠️ 特殊流
CTR ✅ ❌ ✅ 高速加密
GCM ✅✅ ✅ ⭐⭐⭐⭐⭐ TLS / VPN
CCM ✅ ✅ ⭐⭐⭐⭐ IoT
XTS ✅ ❌ ⭐⭐⭐⭐ 磁盘加密
通信系统:SM4-GCM
嵌入式:SM4-CCM
磁盘存储:SM4-XTS
其他模式仅作历史兼容
- 点赞
- 收藏
- 关注作者
评论(0)