DES和AES都是分组密码,他们只能加密固定长度的明文。如果需要加密任意长度的明文,就需要对分组密码进行迭代,而分组密码的迭代方法就成为分组密码的模式。
1、ECB模式
ECB全称Electronice CodeBook。在ECB模式中,将明文分组加密之后的结果直接成为密文分组。
优点:
简单、快速、支持并行计算(加密、解密)
缺点:
明文中的重复排列会反应在密文中
易受到重放攻击的影响
2、CBC模式
CBC全称Cliper Block Chaining。
在CBC模式中,首先将明文分组与前一个密文分组进行XOR运算,然后再进行加密。
IV为初始化向量,每次加密时都会随机产生一个不同的比特序列来作为初始化向量。
优点:
明文中的重复排列不会反映在密文中
支持并行计算(解密)
缺点:
对包含某些错误比特的密文进行解密时,第一个分组的全部比特以及后一个分组的相应比特会出错
加密不能并行
3、CFB模式
CFB全称Cipher FeedBack。
在CFB模式中,前一个密文分组会被送回到密码算法的输入端。
IV为初始化向量,每次加密时都会随机产生一个不同的比特序列来作为初始化向量。
优点:
明文中的重复排列不会反映在密文中
支持并行计算(解密)
缺点:
对包含某些错误比特的密文进行解密时,第一个分组的全部比特以及后一个分组的相应比特会出错
加密不能并行
可受到重放攻击的影响
4、OFB模式
OFB全称 Output-FeedBack模式
OFB模式并不是通过密码算法对明文直接进行加密的,而是通过将明文分组和米欧码算法的输出进行XOR来产生密文分组。
优点:
可事先进行加密、解密的准备
加密、解密使用相同结构
对某些错误比特进行解密时,只影响对应明文分组
缺点:
不支持并行计算
主动攻击者反转密文分组中的某些比特时,明文分组相对应的比特也会被反转
5、CTR模式
CTR模式与OFB模式很类似,只是CTR采用一个计数器作为加密器的输入。
特点与OFB也相似。