加密与安全_常见的分组密码 ECB、CBC、CFB、OFB模式介绍
创作时间:
作者:
@小白创作中心
加密与安全_常见的分组密码 ECB、CBC、CFB、OFB模式介绍
引用
CSDN
1.
https://blog.csdn.net/yangshangwei/article/details/140254166
Pre
概述
- 介绍分组密码基本概念。
- 讲解ECB模式的工作原理、优缺点及应用场景。
- 详细介绍CBC模式的工作原理、优缺点及应用场景。
- 说明CFB模式的工作原理、优缺点及应用场景。
- 解释OFB模式的工作原理、优缺点及应用场景。
- 总结并给出模式选择的建议。
why
当需要加密任意长度明文时,就需要分组迭代进行加密。 分组密码有很多模式,如果模式选择不当,就无法充分保证明文的机密性
分组密码和流密码的基本概念
分组密码:将明文数据划分为固定长度的块(通常为128位或64位),然后逐块加密。每个块称为一个分组(block)。
流密码:对数据流进行连续处理的加密算法,逐位或逐字节加密,适用于数据流的加密。
什么是模式
模式是分组密码的迭代算法
比如我们常使用的 DES 算法中的 ECB 模式。 ECB 模式就是将明文分割成多个分组并逐个加密的方法。 ECB 算法计算量小,加解密速度快,但现在已经证实 ECB 是不可靠的模式了。 所以正式场合中不要使用 ECB 模式
分组密码的常见模式
1. ECB 模式(电子密码本模式)
ECB 将明文进行分组后直接加密产生密文分组
工作原理:
- 将明文分割成多个固定长度的分组。
- 每个分组独立加密。
优点: - 计算简单,速度快。
- 支持并行处理。
缺点: - 相同的明文分组会产生相同的密文分组,无法隐藏明文的模式和结构。
- 容易受到统计分析攻击。
应用场景: - 不适合用于敏感信息的加密,不推荐在正式场合使用。
ECB 模式中,明文和密文是一一对应的。相同的明文一定可以得到相同的密文。所以虽然不能直接根据密文推导出明文,但可以根据密文的特点进行定向攻击
例如: Bob 向 Alice 发送了一个转账的报文:
分组1 = Bob的银行账号
分组2 = Alice的银行账号
分组3 = 转账金额
虽然 Eve 不能直接修改账号和金额(因为没有解密数据),但 Eve 可以通过交换分组 1 和分组 2,造成攻击。
分组1 = Alice的银行账号
分组2 = Bob的银行账号
分组3 = 转账金额
这种攻击方式能成功就是因为 ECB 没有隐藏明文信息造成的
2. CBC 模式(密文分组链接模式)
密文分组链接模式
工作原理:
- 第一个明文分组与初始向量(IV)异或后进行加密,产生第一个密文分组。
- 后续每个明文分组与前一个密文分组异或后进行加密,产生相应的密文分组。
优点: - 能够隐藏明文的模式和结构,提高安全性。
- 支持并行解密。
缺点: - 加密时不支持并行处理,需串行进行。
- 若某个密文分组损坏,会影响当前和下一个分组的解密。
CBC 最核心的一个环节,是将前一个密文分组作为一个变量带入了下一个明文加密中。 这样即便明文相同,但经过密文异或操作后,就会出现不同的结果。通过这样就实现了混淆明文信息的目的。
但不知道你有没有发现,第一个明文分组如何处理呢? 在处理第一个明文分组时,异或为 0.那么密文分组 A 就退化成了 ECB 模式。 为了避免出现这种情况,我们就需要人为补充一个初始密文分组,这个初始的密文分组就称为IV分量
应用场景: - 在需要高安全性且可以容忍串行加密的场景中使用,如文件加密。
3. CFB 模式(密文反馈模式)
对 CBC 模式的一种改进
在 CFB 模式中,明文分组和密文分组之间只做异或操作就可以了。在此时此刻,密码算法的输出有一些一次性密码本的意思了.
工作原理:
- 第一个明文分组与初始向量(IV)异或后进行加密,产生第一个密文分组。
- 后续每个明文分组与前一个密文分组异或后进行加密,产生相应的密文分组。
优点: - 支持并行解密。
- 可以解密任意的密文分组。
缺点: - 不能抵御重放攻击。
应用场景: - 实时通信加密,如网络数据传输。
4. OFB 模式(输出反馈模式)
输出反馈模式。 密码算法的输出会反馈到密码算法的输入中
OFB 并不是通过密码算法对明文进行加密的,而是通过将明文分组和密码算法的输出进行异或来产生密文的。所以 OFB 和 CFB 也有一些类似.
工作原理:
- 初始向量(IV)输入到加密算法中,产生一个伪随机输出。
- 明文分组与该伪随机输出异或,产生密文分组。
- 伪随机输出反馈给加密算法,继续生成下一个伪随机输出。
优点: - 不需要填充(Padding)。
- 若密文包含错误比特,仅对应的明文比特会出错。
缺点: - 不支持并行解密。
- 存在比特反转攻击风险。
应用场景: - 对错误容忍性要求较高的场景,如视频流加密。
模式选择建议
- ECB 模式:简单快速,但不安全,不推荐使用。
- CBC 模式:适用于高安全性需求的场景,如文件加密,推荐使用。
- CFB 模式:适用于实时通信,支持并行解密,但需防范重放攻击。
- OFB 模式:适用于错误容忍性要求高的场景,但不支持并行解密。
热门推荐
美国抵押贷款利率已经松动 美联储降息能否令楼市升温
颈部血管神经性水肿的症状
如何改善早晨手掌麻木的症状
软件技术的使用范围,软件技术的应用范围及其重要性
司马南偷税被罚超900万,此前曾多次卷入风波
女生抬头纹重说明什么原因
换手机屏幕的费用是多少?
硬核!南大 → 新工科
空调内机长宽高一般是多少?选择合适的尺寸提升家居舒适度
淋巴结的结构和功能
一键生成!AI轻松搞定万字论文,是辅助还是作弊?
三国时期蜀汉昭烈帝刘备之子
《山海经》中的神兽——狰:从凶兽到瑞兽的转变
十大好听的马头琴曲(十大好听的马头琴曲呼麦)
T02马头琴声悠扬 天高水阔处岁月壮美
成都之最!事关成都人的公共出行大数据报告
生猪屠宰行业常用术语及产品分类详解
买卖合同防诈骗指南:从主体审查到履行监督
独家对话六分科技金水祥:北斗规模化应用需协同产业力量
第一次去西双版纳一定要看的旅游攻略篇来啦
中考心理压力调节指南:六大策略助你轻松应考
亲子活动家长简短感言(精选19篇)
Excel数据随机排序方法详解:函数、功能与VBA多种技巧解析
科学和AI如何融合发展,这个机构发布十大前沿方向
摄影技术课:风光摄影中,日出和日落的拍摄技巧
树木怎么拍?12种构图方法全面总结,你学会了吗?
如何避免ATM吞卡?这份指南请收好
正月十一“有讲究”,翁不说3婿不做4,老传统,别不懂
优秀技能人才薪资超专技和管理人员,“技长薪涨”进行时!
紫微斗数入门基础知识:什么是紫微斗数?