分组密码的工作模式
分组密码工作模式的特点主要体现在不同模式的设计原理、安全性、并行性、错误传播特性及应用场景的差异上。以下是常见模式的详细特点总结:
一、ECB(电码本模式)
-
特点: -
直接对明文分组独立加密,无前后关联; -
支持并行加密和解密; -
相同明文生成相同密文,易暴露数据模式。 -
优点:实现简单,适合短消息或单个数据块的加密。 -
缺点: -
安全性低,易受重放攻击; -
无法隐藏数据模式(如重复的密文块)。 -
应用场景:加密密钥或短数据(如单个分组)。
二、CBC(密文分组链接模式)
-
特点: -
当前明文分组与前一个密文分组异或后再加密; -
需初始化向量(IV),且每次加密需更新IV; -
解密可并行,但加密需串行。 -
优点: -
隐藏数据模式,相同明文生成不同密文; -
支持数据完整性验证(如CBC-MAC)。 -
缺点: -
错误传播(单个错误影响后续分组); -
需填充至分组长度整数倍。 -
应用场景:文件加密、非实时通信。
三、CTR(计数器模式)
-
特点: -
将计数器值加密后与明文异或,类似流密码; -
加密和解密结构相同,无需填充; -
支持完全并行计算。 -
优点: -
高效且错误不扩散(仅影响对应位); -
安全性高,适合长数据流。 -
缺点:计数器需唯一,否则易受重放攻击。 -
应用场景:实时通信、磁盘加密(如XTS模式)。
四、CFB(密文反馈模式)
-
特点: -
将前一个密文块加密后生成密钥流,与明文异或; -
支持逐比特或逐字节加密,无需填充。 -
优点:实时性强,适合流数据加密。 -
缺点: -
错误传播(单个错误影响后续分组); -
加密需串行,无法并行加速。 -
应用场景:网络流加密、需部分解密的场景。
五、OFB(输出反馈模式)
-
特点: -
将加密算法的输出反馈为下一轮输入,生成密钥流; -
错误不传播(仅影响对应位)。 -
优点:适用于噪声信道(如卫星通信)。 -
缺点: -
需保证IV唯一性,否则安全性降低; -
加密和解密均需串行。 -
应用场景:需抗信道干扰的场景。
六、GCM(伽罗瓦计数器模式)
-
特点: -
结合CTR加密和GMAC认证,同时保护机密性与完整性; -
支持并行计算,效率高。 -
优点:安全性高,适合高性能需求场景(如TLS加密)。 -
缺点:实现复杂度较高,需处理Nonce唯一性。 -
应用场景:商密场景(如SM4-GCM)、网络流量加密。
总结与推荐
-
安全性优先:推荐GCM或CCM模式(支持认证加密); -
性能优先:选择CTR模式(并行计算、无填充); -
避免使用ECB:仅限短数据或特殊场景。
如需完整工作模式标准定义,可参考中的GB/T 17964-2021规范。
原文始发于微信公众号(利刃信安):【能力验证】分组密码的工作模式
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论