0x01 ECB模式
其中加密(或解密)一系列连续排序的消息分组P1,P2…..Pm的过程是将他们依次分别加密(或解密),所以形象地称为电码本模式
。
流程图
优缺点
- 优点:简单、快速、支持并行计算(加密、解密)
- 缺点:明文中的重复排列会反应在密文中,通过删除、替换密文分组能够对明文进行操作,对包含某些比特错误的密文进行解密时,对应的分组会出错;
可抵御重放攻击
。
0x02 CBC模式
CBC模式密码链接分组模式
适用于一般数据加密的一个普通的分组密码算法。CBC模式的输出是一个n比特的密文分组序列,这些密文分组链接在一起使得每个密文分组不仅依赖于其所对应的明文分组,而且依赖于所有以前的明文分组。
流程图
优缺点
- 优点:明文的重复排列不会反应在密文中;支持并行计算(仅解密);可以解密随意密码分组;适合对长度较长的明文消息进行加密。
- 缺点:对包含某些错误比特的密文进行解密时,第一个分组的全部比特以及后一个分组的响应比特会出错;加密不支持并行计算。
0x03 CFB模式
全称是密文反馈模式
。在CFB模式中,前一个密文分组会被送回到密码算法的输入端。所谓反馈,这里指的便是返回输入端的意思。
流程图
优缺点
- 优点:不需求填充;支持并行计算(仅解密);可以解密随意密文分组。
- 缺点:加密不支持并行计算;对包含某些错误比特的密文进行解密时,第一个分组的全部比特以及后一个分组的相应比特会出错;
不可抵御重放攻击
。
0x04 OFB模式
全称是输出反馈模式
,在OFB模式中,密码算法的输出会反馈到密码算法的输入中。
流程图
优缺点
- 优点:不需求填充;可事前进行加密、解密的预备;加密、解密运用相同结构;对包含某些错误比特的密文进行解密时,只有明文中相应的比特会出错。
- 缺点:不支持并行计算、主动攻击者反转密文分组中的某些比特时,明文中的相对应的比特也会被反转。
0x05 CTR模式
全称是计数器模式
,CTR模式是一种通过将逐次累加的计数器进行加密来生成密钥流的流密码。
在CTR中,每个分组对应一个逐次累加的计数器,并通过对计数器进行加密来生成密钥流,也就是说,最终的密文分组是通过将计数器加密得到的比特序列,与明文分组进行XOR而得到的。
流程图
优缺点
- 优点:不要填充、可事先进行加密、解密的预备、加密、解密运用相同结构、对包含某些错误比特的密文进行解密时,只有明文中相对应的比特会出错;支持并行计算(加密、解密)
- 缺点:主动攻击者反转密文分组中的某些比特时,明文分组中相对应的比特也会被反转。