密码学基础——分组密码的运行模式

前面的文章中文我们已经知道了分组密码是一种对称密钥密码体制,其工作原理可以概括为将明文消息分割成固定长度的分组,然后对每个分组分别进行加密处理。

下面介绍分组密码的运行模式

1.电码本模式(ECB)

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

3.密码反馈模式(CFB)

4.输出反馈模式(OFB)

5.计数器模式(CTR)

1.电码本模式(ECB)

ECB(Electronic Codebook)模式是最简单的运行模式

工作原理:

将明文分组后,对每个64bit长的明文 分组独立地使用相同的密钥进行加密,得到密文分组。相同的明文分组会产生相同的密文分组。

当密钥确定时,对明文的每一个分组,都有一个惟一的密文与之对应。因此我们可以形象地认为有一个非常大的电码本,对任意一个可能的明文分组,电码本中都有一项对应于它的密文。

如果消息长于64比特,则将其分为长为64比特的分组,最后一个分组如果不够64比特,则需要填充。解密过程也是一次对一个分组解密,而且每次解密都使用同一密钥。

优点:简单高效,每个分组的加密可以并行处理,易于硬件实现。

缺点:缺乏安全性,由于相同明文分组加密结果相同,容易受到已知明文攻击,且不能隐藏明文的统计特性,不适用于对数据保密性要求较高的场景

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

工作原理:在加密时,将前一个密文分组与当前明文分组进行异或操作后再进行加密。第一个明文分组需要与一个初始向量(IV)进行异或操作。解密时,先对密文分组解密,然后再与前一个密文分组异或得到明文分组。

优点:安全性较高,因为每个密文分组都依赖于前面的所有明文分组和密钥,相同的明文分组在不同的位置加密后得到的密文不同,能有效隐藏明文的统计特性。

缺点:加密过程是串行的,无法并行处理,且对数据传输中的错误敏感,一个密文分组出错会影响到后续分组的解密

3.密码反馈模式(CFB)

工作原理:将前一个密文分组作为输入,通过密钥生成一个与明文分组等长的反馈值,该反馈值与当前明文分组进行异或得到密文分组。解密过程与加密类似,只是将密文分组作为输入来生成反馈值,再与密文分组异或得到明文分组。

CFB加密时,加密算法的输入是64比特移位寄存器,其初值为某个初始向量IV。加密算法输出的最左(最高有效位) 比特与明文的第一个单元 异或,产生出密文的第一个单元 ,并传送该单元。然后将移位寄存器的内容左移 位并将 送入移位寄存器最右边(最低有效位) 位。这一过程继续到明文的所有单元都被加密为止

解密时,将收到的密文单元与加密函数的输出进行异或。

优点:可以将分组密码转换为流密码,能够对任意长度的数据进行加密,且可以实时处理数据,适用于对实时性要求较高的场景。

缺点:与 CBC 模式一样,加密过程是串行的,无法并行处理,并且对错误敏感。

4.输出反馈模式(OFB)

工作原理:通过密钥生成一个与明文分组等长的输出值,该输出值与当前明文分组进行异或得到密文分组。在加密过程中,密钥和一个初始向量通过加密算法不断生成新的输出值。解密时使用相同的密钥和初始向量生成相同的输出值,再与密文分组异或得到明文分组。

优点:对传输错误不敏感,因为每个明文分组的解密只依赖于自身的密文分组和生成的输出值,不会像 CBC 和 CFB 模式那样出现错误传播。

缺点:安全性相对较低,若攻击者能够修改密文分组,可能会导致解密出的明文出现可预测的变化。

5.计数器模式(CTR)

工作原理:使用一个计数器,每次加密时将计数器的值作为输入,通过密钥生成一个与明文分组等长的密钥流,然后将密钥流与明文分组进行异或得到密文分组。计数器的值在每次加密后递增。

优点:加密和解密可以并行进行,效率高,且对错误不敏感,适用于高速数据处理和并行计算的场景。

缺点:需要确保计数器的值在不同的加密过程中是唯一的,否则可能会导致安全性下降。

相关推荐
啊阿狸不会拉杆6 小时前
《计算机网络-自顶向下方法》5.4 ISP之间的路由选择:BGP 读书笔记
网络·计算机网络·接口隔离原则
Delite8027 小时前
摆脱实验室束缚:便携式卡尔费休微量水分检测技术与现场应用解析
大数据·网络·人工智能
ACP广源盛139246256738 小时前
M6/M5 Pro Mac mini 端侧 AI 落地@ACP#YLB3116 中端多盘存储扩展在 AI 服务中的机会与应用场景
大数据·网络·数据库·人工智能·嵌入式硬件·macos
ACP广源盛139246256738 小时前
M6/M5 Pro Mac mini 端侧 AI 新形态@ACP#GSV5800 Serdes 长距离视频传输在 AI 服务中的机会与落地场景
大数据·网络·数据库·人工智能·嵌入式硬件·macos·音视频
我爱cope9 小时前
【计算机网络 | 传输层3:TCP 协议概述:面向连接、可靠传输到底意味着什么?】
网络·网络协议·学习·tcp/ip·计算机网络·传输层
OIDCAT10 小时前
国产USB转千兆网卡芯片CH398-RTL8153国产替代实测与选型
网络·嵌入式硬件·智能硬件·国产芯片·usb转千兆网卡
M--Y12 小时前
Docker数据持久化与网络架构
网络·docker·架构
myy-learn13 小时前
30-HTTP协议
网络·网络协议·http
开开心心就好13 小时前
免费刷题软件推荐,支持导入题库自动判题
网络·网络协议·tcp/ip·jupyter·智能手机·电脑·idea