【密码学】分组密码的工作模式

1.电码本模式(ECB)

优点: 每个数据块独立加密,可并行加密,实现简单。

缺点: 相同明文会产生相同密文,不具备数据完整保护性。

适用于短消息的加密传输 (如一个加密密钥)。

工作流程:用相同的密钥分别对应明文分组单独加密。

2.密文分组链接模式(CBC)

优点:每个密文块的加密依赖前一个密文块,具备数据完整性保护。

缺点: 错误传播、不适合并行处理

适用于常规文件加密、非实时加密等场景

工作流程:将前一个密文块与当前明文块进行异或运算后再加密,初始向量(IV)用于第一个块的加密。

3.密文反馈模式(CFB)

优点:可变长度的加密操作,实时性,可以部分解密数据。

缺点:密文分组的错误传播敏感,不适合并行处理的场景,需要保证初始向量的唯一性和完整性。适用于流加密和对特定部分数据进行随机访问的场景。

适用于流加密和对特定部分数据进行随机访问的场景

工作流程:将前一个密文块作为输入进行加密,生成一个密钥流,再与当前明文块进行异或运算得到密文块。

4.输出反馈模式(OFB)

优点:可变长度的加密操作,实时性,对密文分组的错误不敏感。

缺点:传输错误不可恢复,无法提供数据完整性保护,不支持并行加密。

适用于实时数据流加密和随机访问的场景

工作流程:将前一个加密算法的输出作为输入进行加密,生成一个密钥流,再与当前明文块进行异或运算得到密文块。

5.计数器模式(CTR)

优点:并行处理,随机访问,不受错误传播影响。

缺点:计数器必须唯一,密钥流和明文相关性较弱。

适用于并行加密、随机访问和实时加密的场景。

工作流程:每一个明文分组都与一个经过加密的计数器异或。对每个后续的分组,计数器增1。

6.总结:

|-------------------------------------|------------------------------------------------------|---------------------------------------|-------------------------------|-------------------|
| 工作模式 | 描述 | 优点 | 缺点 | 典型应用 |
| 电码本模式(Electronic Codebook,ECB) | 用相同的密钥分别对明文分组单独加密 | 简单直观的加密模式;可以进行并行加密操作;可以随机访问任意块 | 相同的明文块会生成相同的密文块;缺乏混淆和扩散 | 单个数据的安全传输 |
| 密文分组链接模式(Cipher Block Chaining,CBC) | 加密算法的输入是上一个密文分组和下一个明文分组的异或 | 密文之间的依赖性增加了安全性;可处理任意长度的数据;可抵抗明文和密文的修改 | 不适合并行处理;需要处理初始向量;算法之间可能存在差异 | 面向分组的通用传输;认证 |
| 密文反馈模式(Cipher Feedback,CFB) | 一次处理输入的s位,上一个密文分组作为加密算法的输入,产生的伪随机数输出与明文异或后作为下一个单元的密文 | 可变长度的加密操作;实时性;可以部分解密数据 | 错误传播敏感;不适合并行处理;保证初始向量的唯一性和完整性 | 面向数据流的通用传输;认证 |
| 输出反馈模式(Output Feedback,OFB) | 与CFB类似,只是加密算法的输入是上一次加密的输出,并且使用整个分组 | 可变长度的加密操作;实时性;对密文分组的错误不敏感 | 传输错误不可恢复;无法提供数据完整性保护;不支持并行加密 | 噪声信道上的数据传输(如卫星通信) |
| 计数器模式(Counter,CTR) | 每个明文分组都与一个经过加密的计数器异或。对每个后续的分组,计数器增1 | 并行处理;随机访问;不受错误传播影响。 | 计数器必须唯一;密钥流和明文相关性较弱 | 面向分组的通用传输;用于高速需求 |

相关推荐
春风解人意5 小时前
从零开始学习嵌入式P32----网络基础之TCP
c语言·网络·学习·tcp/ip
砚凝霜5 小时前
【软考信息安全】第一章 网络安全基础、管理与法律法规
安全·web安全·php
SkyWalking中文站6 小时前
SkyWalking 11 与 BanyanDB 0.11:在存储引擎内部实现 Trace 尾部采样
运维·监控·自动化运维
云絮.6 小时前
网络原理---- 网络层,数据链路层,应用层
网络
姚不倒6 小时前
etcd 学习系列(二):集群架构 —— 3 节点是如何工作的
运维·架构·etcd
商业看点解说7 小时前
企业需要为大模型应用设置安全护栏,推荐使用哪些生成式AI平台?
人工智能·安全
pt10437 小时前
网络自动化Python课程:Cisco PyATS网络自动化测试框架
运维·自动化
Johny_Zhao8 小时前
网络安全等级保护测评实施方案
linux·网络·人工智能·网络安全·信息安全·云计算·等保测评·系统运维·itsm
是隼人8 小时前
buuctf-pwn inndy_echo(32位fmt)题解(学习过程持续更新)
c语言·学习·安全·pwn入门·ctf入门
小袁拒绝摆烂8 小时前
Jenkins部署经验
运维·jenkins