安全技术
> 安全技术 > PKI技术规范
密码技术的运算模式

运算模式又称工作模式,是指分组密码算法在处理任意长度消息时,对多个分组进行特殊处理的技术方案。常用的运算模式主要有ECB、CBC、CFB、OFB等。

1.ECB

ECB是Electronic Code Book(电子密码本)的缩写。

该模式下,每个分组独立进行加密/解密运算,不同分组之间没有任何关联。于是,在相同密钥的情况下,相同的明文总是产生相同的密文。

该模式在安全性方面的特点是:明文模式不能隐藏、分组加密的输入不是随机的(与明文一样)、一个密钥可以加密多个消息、明文很容易篡改(分组可被删除、再现或互换)等。

该模式在效率方面的特点是:速度与分组算法相同、密文比明文长一个分组(由于填充)、不可能进行预处理、处理过程可并行进行等。

该模式在容错性方面的特点是:一个密文错误会影响整个明文分组、同步错误不可恢复等。

2.CBC

CBC是Cipher Block Chaining(密码分组链接)的缩写。

该模式下,在加密当前分组之前,将上一个分组的加密结果与当前明文分组进行异或后,再进行加密,如此形成~个密文链;解密时类似。

该模式在安全性方面的特点是:明文模式能隐藏(通过与前一个密文分组相异或)、分组加密的输入是随机的(与前一个密文分组相异或)、一个密钥可以加密多个消息、篡改明文稍难(分组可以从消息头或尾处删除,第一个分组位可被更换,并且复制允许控制的改变)等。

该模式在效率方面的特点是:速度与分组算法相同、不考虑IV时密文比明文长一个分组、不可能进行预处理、加密不是并行的、解密是并行的且具有随机存取特性等。

该模式在容错性方面的特点是:一个密文错误会影响整个明文分组以及下一个分组的相应位、同步错误不可恢复等。

3.CFB

CFB是Cipher Feed-Back(密码反馈)的缩写。

设对称算法的分组长度为n位,初始向量为IV(n位),密钥为K,则x位CFB模下(x在1与n之间),加密过程如下:

① 设定一个n位长的队列,队列初始值为IV,并将明文消息分成若干个x位长的比特块。

② 依次对每个x位比特块明文进行以下操作;用密钥K对队列进行加密,将该密文中最左端的x位与x位比特块明文异或,即可获得其x位比特块密文;然后将该x位比特块密文放入队列的最右端,并丢弃队列最左端的x位。

③ 将所有x位比特块密文依次级联,即得到消息密文。

解密过程是加密过程的逆过程。

该模式在安全性方面的特点是:明文模式可以隐藏,分组算法的输入是随机的,用不同的IV,一个密钥可加密多个消息,篡改明文稍难(分组可以被从消息头或尾处删除.第一个分组位可被更换,并且复制允许控制的改变)等。

该模式在效率方面的特点是:速度与分组算法相同,不考虑IV时密文与明文大小相同,在分组出现之前做些预处理是可能的,前面的密文分组可以被加密,加密不是并行的,解密是并行的且有随机性存取特性等。

该模式在容错性方面的特点是:一个密文错误会影响明文的相应位及下一个分组。同步错误是可恢复的,1位CFB能恢复1位的添加或丢失等。

4.OFB

OFB是Output Feed-Back(输出反馈)的缩写。

该模式类似于CFB,主要区别是OFB将队列加密后密文中最左端的x位放入队列最右端,而CFB是将x位比特块密文放入队列最右端。

设对称算法的分组长度为n位,初始向量为Iv(n位),密钥为K,则x位OFB模式下(x在1与n之间)的加密过程如下:

① 设定一个n位长的队列,队列初始值为IV,并将明文消息分成若干个x位长的比特块。

② 依次对每个x位比特块明文进行以下操作:用密钥K对队列进行加密,将该密文中最左端的x位与x位比特块明文异或,即可获得其x位比特块密文;同时将队列加密后密文中最左端的x位放入队列的最右端,并丢弃队列最左端的x位。

③ 将所有x位比特块密文依次级联,即得到消息密文。

解密过程是加密过程的逆过程。

该模式在安全性方面的特点是:明文模式可以隐藏,分组算法的输入是随机的,用不同的IV,一个密钥可加密多个消息,明文很容易被控制篡改,任何对密文的改变都会直接影响明文等。

该模式在效率方面的特点是:速度与分组算法相同,不考虑IV时密文与明文大小相同,在分组出现之前做些预处理是可能的,OFB处理过程不是并行的,计数器处理是并行的,等等。

该模式在容错性方面的特点是:一个密文错误仅影响明文的相应位,同步错误不可恢复等。