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

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

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

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)

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

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

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

相关推荐
国际云,接待36 分钟前
微软云注册被阻止怎么解决?
服务器·网络·microsoft·云原生·微软·云计算
laocooon5238578861 小时前
基于Python的TCP应用案例,包含**服务器端**和**客户端**的完整代码
网络·python·tcp/ip
Blossom.1183 小时前
基于区块链的去中心化身份验证系统:原理、实现与应用
运维·服务器·网络·人工智能·机器学习·去中心化·区块链
SZ1701102313 小时前
HTTP 请求报文 方法
网络·网络协议·http
Bruce_Liuxiaowei3 小时前
使用Nmap探测VNC服务信息—某单位KVM设备
网络·安全·web安全
比奥利奥还傲.3 小时前
QNAP威联通NAS配置SFTP与内网穿透技术实现远程文件访问
网络
君鼎4 小时前
C++操作系统与网络编程(针对特定岗位)
网络·c++
bcxwz6695 小时前
软死锁的检测--看门狗
运维·服务器·网络
wu~9705 小时前
计算机网络-自顶向下—第三章运输层重点复习笔记
网络·笔记·计算机网络
yangzx的网工日常6 小时前
网络的那些事——初级——IS-IS(IPV4)
网络