对称加密算法常用的五种分组模式(ECB/CBC/CFB/OFB/CTR)

目录

 

 

分组模式

五种模式简介

ECB - 电子密码本模式

CBC - 密码快链接模式

CFB 密文反馈模式

OFB 输出反馈模式

CTR 计数器模式


 

分组模式

明文的长度不固定,而分组密码只能处理特定长度的一块数据,这就需要对分组密码进行迭代,以便将很长的明文全部加密,迭代的方法就是分组的模式。

五种模式简介

模式 名称 优点 缺点 备注
ECB 电子密码本模式 electronic codebock 支持并发加解密 重复明文反应在密文中 不能抵抗重放攻击 不推荐使用
CBC 密文分组链接模式 Cipher Block Chaining 抵御重放共计 可以并行解密 不能并行加密 错误的密文位影响后续密文解密 推荐使用
CFB 密文反馈模式 Cipher FeedBack 不需要填充 并行解密 解密分组间无依赖 不能并行加密 错误的密文位影响后续密文解密 不推荐
OFB 输出反馈模式 OutPut FeedBack 不需要填充 出现错误时仅对应明文出错 不支持并行计算 不推荐
CTR 计数器模式 Counter 不需要填充 支持并行计算 反转密文分组中部分bit时,对应明文也会反转 推荐

 

ECB - 电子密码本模式

简单高效、可以并发加解密

最后一个分组需要填充

不需要硴向量

ECB模式是分组密码的基本工作方式。在该模式下,每个加密区块按顺序进行独立加密,得到独立的密文区块,每个加密区块的结果都不会被其他区块影响,用此方式,可用平行处理实施加速加、解密运算,且在网络传输时任何一个区块出现错误,也不存在影响到其他区块传输的结果,这是该模式的好处。

ECB模式的不足是易使明文的数据模式暴露。在计算机系统里,很多数据均存在固有模式,这主要是由数据结构与数据冗余导致的。若无任何措施,针对在需加密的文件里出现多回的明文,这部分明文如果刚好是加密区块的大小,则可能会得到一样的密文,且密文内容如果受到剪贴、代替,也很难被发现。

img

 

CBC - 密码快链接模式

密文没有规律,引入雪崩效应

最后一个分组需要填充

需要初始化向量

第一个加密区块先与初始向量做异或运算,再进行加密。其他每个加密区块在加密之前,必须与前一个加密区块的密文做一次异或运算,再进行加密。每个区块的加密结果都会被前面全部区块内容的影响,因此尽管在明文里出现多次一样的明文,也会得到不一样的密文。

还有,密文内容如果遇到剪贴、替换,或于网络传输时出现错误,则它后面的密文会被破坏,不能顺利解密还原,这是这一模式的优点也是缺点。

其次,一定得选取1个初始向量来加密第1个区块,且加密作业时不能用平行处理加速加密运算,不过解密运算,做异或的加密区块结果已经有了,则还可用平行处理加速。

img

 

CFB 密文反馈模式

简单讲就是前一模块的密文输出,参与下一模块的加解密

密文没有规律,明文分组和一个数据流进行异或操作,生成密文

需要初始化向量

不需要填充

img

 

OFB 输出反馈模式

初始化向量一次加密并参与各分组的加密过程

特点,密文没有规律,明文分组和一个数据流按位异或生成密文

需要初始化向量

不需要填充

img

 

CTR 计数器模式

用计数器代替OFB模式中的向量

不需要初始化向量

不需要填充

标题

 

你可能感兴趣的:(密码学,加密解密,密码学)