目录
加密提供机密性(防止未经授权的泄露),无法保证数据的完整性。
对称密码加密工作模式
- 分组加密模式:ECB、CBC、CTR
- 通用加密模式:ECB、CBC、CTR、CFB、OFB
Electronic codebook mode(ECB)
ECB又称电码本模式,明文分块后依次独立加密。
- 优点:可并行,速度快,易于标准化
- 缺点:分组加密不能隐蔽数据模式(相同的明文蕴含着相同的密文组,如下图所示),会泄露明文的结构消息;语义不安全,不能抵抗分组重放,插入,删除等攻击。
- 并行性:加解密均可并行。
Cipher block chaining mode(CBC)
CBC又称密码块链接模式,每次将IV与明文块异或后的值进行加密,前一块消息的密文作为下一块消息的IV。克服了ECB模式使用固定函数进行确定性加密的缺点。IV无需保密,但是需要满足随机性和不可预测性(不可被敌手预测),并随消息更换(因此相同的消息可能会加密得到不同的密文)。传送消息时将IV和密文同时传给接收方。
- 优点:避免了ECB的缺点,隐蔽了明文的数据格式,具有一定的随机性,在一定程度上的防止数据篡改。可传输长度较长的消息,是SSL、IPSec的标准SSL、IPSec的标准。
- 缺点:明文分组的一位出错将影响该分组及其以后的所有密文分组;密文分组中的一位出错,将影响该分组及之后的一个分组,剩下分组不被影响。此外,若密文序列中丢失一位,那么所有的后续分组要移动一位,导致解密全部错误。长度不任意,如果不是整分组则需要填充。
- 并行性:加密不可以并行,解密可以并行。
Counter mode (CTR)
CTR模式又称计数器模式。类似流密码中的one-time-pad。在使用的时候需要保证不同的明文分组所用的计数器值不同。CTR模式也可以用于随机存取。
- 优点:错误传播小,当前明文分组的错误不会影响后继的密文分组,且密文分组中的1比特错误只会导致明文中的1比特错误;其消息长度可以是任意的;加、解密电路相同。
- 缺点:通信双方必须同步,否则难以解密。
- 并行性:加、解密均可以并行。
Cipher feedback mode(CFB)
CFB模式又称密码反馈模式。每次将密文先左移,再补位作为下一块加密器的输入。类似流工作模式。
- 优点:自同步能力强,可以处理任意长度的消息。(可以及时加密传送小于分组的数据)
- 缺点:明文的一个错误会影响后面所有的密文,密文的一位错误,只影响明文的一个分组;只有一个IV,可能影响安全性。
- 并行性:加密不可并行,解密可并行。
Output feedback mode(OFB)
OFB模式又称输出反馈模式。与CFB模式的区别在于每次将加密器的输出(而不是密文)反馈给下一块加密器。类似流工作模式。
- 优点:可以及时加密传送小于分组的数据,加密消息长度是任意的;与CFB相比,错误传播较小,当前明文分组的错误不影响后继密文分组,且密文的1比特错误只会导致明文中的1比特错误;加、解密电路相同。
- 缺点:通信双方必须同步,否则难以解密。
- 并行性:不可并行。