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

Posted better_hui

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对称加密算法常用的五种分组模式(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模式中的向量

不需要初始化向量

不需要填充

标题

 

以上是关于对称加密算法常用的五种分组模式(ECB/CBC/CFB/OFB/CTR)的主要内容,如果未能解决你的问题,请参考以下文章

ofb

AES的五种加密模式(CBCECBCTROCFCFB)

技术分享丨这是一篇简单的小科普——什么是对称加密算法?(下)

Day1对称加密分组密码模式

对称加密及AES加密算法

安全模块 - 对称加密算法