1. CTR (CounTeR mode)模式定义
一种通过将逐次累加的计数器进行加密来生成密钥流的流密码。
CTR模式中,每个分组对应一个逐次累加的计数器,并通过对计数器进行加密来生成密钥流。也就是说,最终的密文分组是通过将计数器加密得到的比特序列,与明文分组进行xoR而得到的。
每个分组中将计数器进行加密所得到的密钥流也是不同的。也就是说,这种方法就是用分组密码来模拟生成随机的比特序列。
2. 表现形式
当分组长度为128比特(16字节)时,计数器的初始值可能是像下面这样的形式。
每次加密时都会生成一个不同的值( nonce )来作为计数器的初始值。
3. CTR模式的特点
- CTR模式的加密和解密使用了完全相同的结构
- CTR模式中可以以任意顺序对分组进行加密和解密,因此在加密和解密时需要用到的“计数器”的值可以由nonce和分组序号直接计算出来。这一性质是OFB模式所不具备的。
- 能够以任意顺序处理分组,就意味着能够实现并行计算。在支持并行计算的系统中,CTR模式的速度是非常快的。
- 弱点:主动攻击者Mallory可以通过反转密文分组中的某些比特,引起解密后明文中的相应比特也发生反转。
在CTR模式的基础上增加“认证”功能的模式称为GCM模式(Galois/Counter Mode )