分组密码的工作模式
- ECB模式
- CBC模式
- CFB模式
- OFB模式
- CTR模式
电子密码本ECB、密码分组链接模式CBC、密码反馈模式CFB和输出反馈模式OFB、计数器模式CTR
ECB模式
它一次对一个64bit长的明文分组加密,而且每次的加密密钥都相同。可以认为有一个非常大的电子密码本,对任意一个明文分组,电子密码本中都有一项对应于它的密文。
加密:
解密:
优点:ECB模式在用于短数据时非常理想。
消息进行分组,若最后一个分组长度不足64bit,则需要进行补充。
缺点:相同的明文产生的密文是一样的,所以攻击者会从结构中进行分析攻击。
CBC模式
为了解决ECB模式的安全缺陷,可以让重复的明文分组产生不同的密文分组。一次对一个明文分组进行加密,使用同一个密钥。加密算法的输入是当前明文分组和前一次密文分组的异或。
因此加密算法的输入不会显示与这次明文分组之间的固定关系。
解密的时候,每个密文分组被解密后,再与前一个密文分组异或。初始变量需要被保护。
CBC模式能够获得保密性,还能用于认证。
CFB模式
DES是分组密码,但是利用CFB或OFB模式可以将DES转换为流密码。
加密过程如下:s通常是8bit
初始输出左边最高s位
解密过程:
解密的时候使用的也是加密函数。
CFB模式可以获得保密性,还可以用于认证。适合数据以比特或字节为单位出现,存在有限的错误传播。
OFB模式
OFB模式与CFB模式类似,但是OFB模式是将加密算法的输出反馈到移位寄存器,而CFB模式是将密文单元反馈到移位寄存器。
加密过程:
解密过程:
优点:传输过程中的比特错误不会被传播。而在CFB模式中,1bit的错误会影响解密过程中各个明文单元的值。
缺点:更易受到消息流的篡改攻击。
特点:消息作为比特流,分组加密的输出与被加密的消息相加,比特差错不易传播。
CTR模式
CTR模式被广泛用于ATM网络和IPSec应用中。
加密过程:
解密过程:
特点:
1)允许同时处理多块明文/密文
2)允许并行计算,可以很好地利用CPU流水等并行技术
3)算法和加密盒的输出不依靠明文和密文的输入
4)随机访问和可证明的安全性
5)仅要求实现加密算法,不要求实现解密算法
6)可以高效地作为流式加密使用