8种国密模式简介

举报
码乐 发表于 2025/12/19 07:01:39 2025/12/19
【摘要】 1 背景简介本文以 SM4 分组密码为核心,系统、深入地解读你提到的 8 种主流工作模式:ECB、CBC、CFB、OFB、CTR、GCM、CCM、XTS。内容覆盖:工作原理、安全性、优缺点、典型应用场景、是否推荐,便于工程选型与合规评估。SM4:国密对称分组密码分组长度:128 bit(16 字节)密钥长度:128 bit工作模式的作用:将“只能处理固定长度分组”的 SM4,扩展为可安全加...

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
其他模式仅作历史兼容

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。