a)简介
CTR模式使用与明文分组相同的计数器长度,但加密不同的分组所用的计数器值必须不同。典型地:计数器从某一初值开始,依次递增1。计数器值经加密函数变换的结果再与明文分组异或,从而得到密文。
解密时使用相同的计数器值序列,用加密函数变换后的计数器值与密文分组异或,从而恢复明文。
b)算法流程
加密:ci= mi E_k (CTR+i) (i=1, 2, …, n)
解密:mi=ci E_k (CTR+i) (i=1, 2, …, n)
其中,CTR表示计数器的初值
c)算法实现
在3.1的基础上实现:
加密:
图3.6.1 des-ctr 加密
解密:
图3.6.2 des-ctr 解密
d)算法验证
在线网站:
图3.6.3 des-ctr 在线网站结果
验证:
图3.6.4 des-ctr 验证
e)算法分析
随机访问特性:可以随机的对任意一个密文分组进行解密,对该密文分组的处理与其它密文无关。
高效率:能并行处理; 可以提前进行预处理,这也可以极大的提高处理效率。
可以处理任意长度的数据,而且加解密过程仅涉及加密运算,不涉及解密运算,因此不用实现解密算法 。
f)实现难点
在3.1的基础上,无难点。增加编码转换以防乱码及方便和网上结果比对。