CBC(Cipher Block Chaining, 密文分组链接)模式中每一个分组要先和前一个分组加密后的数据进行XOR异或操作,然后再进行加密。 这样每个密文块依赖该块之前的所有明文块,为了保持每条消息都具有唯一性,第一个数据块进行加密之前需要用初始化向量IV进行异或操作CBC模式是一种最常用的加密模式,它主要缺点是加密是连续的,不能并行处理,并且与ECB一样消息块必须填充到块大小的整倍数。

补充知识点异或加密算法:http://www.okweex.com/3008.html

特点:

– 数据分组长度根据算法而定
需要提供初始化向量(Initialize Vector),要求长度必须与分组长度相同
– 每一个密文都是下一次加密操作的输入
不能够并行加密,可以并行解密
– 加密强度高
如果数据切割后长度不满足需求,需要对数据进行填充。

ECB与CBC模式的比较