关于分组密码CBC模式与CTR模式的对比

1. 前言

在对称分组密码体制中CBC模式(密文分组链接模式)CTR模式(计数器模式)是安全性最高且最常用的两种模式,在这两种模式中前一分组会以不同的形式影响下一分组的加密过程,因此这两种模式的安全性相对较高。

在项目研发过程中,需求是要在嵌入式节点间实现实时安全通信,而CTR模式能够支持并行加解密过程计算,因而 在项目中选择CTR模式的SM4对称加密算法。

以下对于分组密码中CBC模式以及CTR模式的原理进行简单介绍:

2. CBC模式

CBC模式的全称是Cipher Block Chaining模式(密文分组链接模式),之所以叫这个名字,是因为密文分组像链条一样相互连接在一起。首先将明文分组与前一个密文分组进行XOR运算,然后再进行加密。注:对于第一个分组需要构造一个长度为分组长度的初始向量IV。

CBC模式加密.png

CBC模式解密.png

从原理图中可以看出:

1)能够隐蔽明文的数据模式,相同的明文对应的密文一般是不同的;

2)无法单独对中间的明文分组进行加密。例如,如果要生成密文分组3,必须按序生成密文分组1和密文分组2。

3. CTR模式

CTR模式全称counter模式(计数器模式)。CTR模式通过对逐次累加的计数器加密来生成密钥分组与明文分组异或产生密文分组。


CTR模式加解密过程.png

CTR模式的解密过程将明文分组与密文分组位置调换即可。

从原理图中可以看出:

1)能够隐蔽明文的数据模式,相同的明文对应的密文一般是不同的;

2)CTR模式中可以以任意顺序对分组进行加密和解密,能够以任意顺序处理分组,意味着能够实现并行计算。使用并行计算,CTR模式的加解密是非常快的。

你可能感兴趣的:(关于分组密码CBC模式与CTR模式的对比)