十堰h5网站建设友情链接平台广告
Note
- 计数器模式,通过加密递增计数器生成密钥流,后密钥流与明文分组异或得密文分组
- 可并行性进行加密或者解密,性能较高
- 明文可以是任意长度,不需要填充
- 可以直接加密或解密指定块,块与块间不具有依赖关系
参数说明
- 任意长度的明文数据
- 对称密钥
- 初始向量IV,通常是12字节
加密过程
- 将IV和计数器合成初始计数器块Counter,IV || 计数器 的长度应等于对称算法的分块大小,如SM4分块大小是16字节,则 IV || 0001 作为初始计数块Counter0
- 明文分组大小和初始计数器块大小一致,每块明文均执行以下步骤
- 对称算法加密Counter_i生成密钥流k
- 密钥流k和明文分块异或产生密文分块Ci
- counter_(i+1) = counter_i + 1, 计数器递增
- 处理完明文数据,拼接C1C2C3......Ci
解密过程
- 将IV和计数器合成初始计数器块Counter
- 每块密文执行如下步骤
- 对称算法加密Counter_i生成密钥流k
- k和密文分块异或产生明文块Pi
- 计数器加1
- 处理完密文数据,拼接P1P2......Pi-1Pi
写在最后
上面步骤为了便于理解,是按线性思维梳理的加密过程,在实际应用中处理好计数器值、密文块、明文块的对应关系,可以同步进行。