分组加密模式的重要性
1 简介背景
什么是分组加密(Block Cipher)
分组加密是一种对称加密算法,其核心特征是:
将明文按**固定长度的分组(block)**进行加密,每一组在同一密钥控制下,通过可逆变换生成等长密文。
常见分组长度:
64 bit(已逐步淘汰)
128 bit(现代标准)
2 分组加密的核心特点
- 1 固定长度分组
明文被切分成固定长度块(如 AES 的 128 bit)
最后一块不足时需要填充(Padding)
PKCS#7
ISO/IEC 7816-4
Zero Padding
影响:
分组长度直接决定安全边界(生日攻击复杂度)
- 2 同一明文块 ≠ 同一密文(取决于模式)
算法本身是确定性的
是否“随机化”取决于工作模式(Mode of Operation)
ECB ❌(会暴露结构)
CBC / CTR / GCM ✔
- 3 高度非线性 & 可逆
基于:
代换(Substitution)
置换(Permutation)
混淆(Confusion)
扩散(Diffusion)
加密与解密严格可逆
- 4 安全性可形式化分析
分组加密通常满足或逼近:
PRP(伪随机置换)
PRF(伪随机函数)
这是现代密码协议(TLS、IPsec、SSH)的基础
- 5 不直接用于长数据(需配合模式)
单独的分组加密算法:
❌ 不适合直接加密大文件
✔ 必须与分组模式组合使用
3 还有哪些加密方式
- 1 流加密(Stream Cipher)
核心思想 生成密钥流,与明文异或
代表算法 RC4(已弃用)、ChaCha20
优点 低延迟、无需填充
缺点 对 nonce/IV 极其敏感
适用场景:实时通信、移动设备
- 2 公钥加密(非对称加密)
密钥 公钥 / 私钥
代表 RSA、ElGamal、ECC
优点 解决密钥分发问题
缺点 性能慢
实际用途:只用于密钥交换或签名,不加密大数据
- 哈希函数(不是加密,但常被混淆)
是否可逆 ❌
代表 SHA-256、SM3
用途 校验、签名、口令存储
- 混合加密(工程实践)
非对称加密 + 对称分组加密
现实世界几乎全部采用
TLS
HTTPS
VPN
云存储
4 分组加密的经典算法
- AES(Advanced Encryption Standard)
分组长度 128 bit
密钥长度 128 / 192 / 256
结构 SPN
地位 全球事实标准
优点
安全性高
有硬件加速(AES-NI)
广泛审计
- DES / 3DES(历史)
DES:56-bit 密钥 ❌(已破解)
3DES:安全但性能差,已弃用
-
SM4(中国国密)
特点 说明
分组 128 bit
密钥 128 bit
应用 金融、政务 -
Camellia(日本)
与 AES 同级安全性
在某些合规体系中使用
- Blowfish / Twofish(学术&历史)
Twofish:AES 最终候选算法
实际应用较少
5 分组加密的典型使用场景
1️⃣ 网络安全协议
TLS / HTTPS
SSH
IPsec
2️⃣ 存储加密
磁盘(BitLocker、FileVault)
数据库透明加密
3️⃣ 应用层数据保护
Token
Cookie
API Payload
4️⃣ 密钥派生 & PRF
KDF
随机数扩展
6 小结
** 分组加密最大的优点是:**
在性能、安全性、可证明性和工程可控性之间取得了最优平衡
具体拆解为:
1️⃣ 比公钥快几个数量级
2️⃣ 比流加密更容易分析和组合
3️⃣ 可构建安全证明(PRP/PRF)
4️⃣ 适用场景极广,生态成熟
5️⃣ 支持硬件加速,能跑到线速
分组加密是现代密码工程的“承重墙”
- 国密合规(等保 / 密评)推荐配置
以下内容完全贴合目前主流密评实践(通信 / 存储 / 应用系统)。
1 密评(GM/T 0054)重点检查项
常见被打回的点(非常重要)
❌ 使用 ECB
❌ IV 固定 / 可预测
❌ GCM 中 Nonce 重复
❌ CTR 无 MAC
❌ SM4-CBC 无完整性保护
❌ 密钥硬编码
2 官方推荐“黄金组合”
** 通信系统(最稳妥)**
密钥协商:SM2
加密算法:SM4-GCM
摘要认证:SM3(内置)
** 嵌入式 / 物联网**
SM2 + SM4-CCM + SM3
** 存储系统 / 数据库**
数据页加密:SM4-XTS
密钥保护:SM2 / 密码机
3 密评文档中常用表述(可直接用)
“系统采用 SM4-GCM 工作模式实现数据机密性与完整性保护,
随机生成 96 位 Nonce,确保每次加密唯一性,
符合 GM/T 0002、GM/T 0003、GM/T 0054 要求。”
- 点赞
- 收藏
- 关注作者
评论(0)