Bootstrap

对称加密算法的模式介绍

对称加密算法都会使用加密模式,比如 cbc模式 ecb 模式等。本文介绍四种常见的加密模式:ECB、CBC、CFB、OFB。

电子密码本模式   Electronic Code Book(ECB):

原理如下图:

明文被分成等长的小块(长度取决于加密算法的加密单位)、每一块使用秘钥单独加密成密文,小块之间相互独立。

优点:

1.简单;

2.每个加密块相互独立,没有依赖关系,有利于并行计算,且 误差不会被传送

缺点:

不安全,易破解。

加密块链模式 Cipher Block Chaining(CBC):

原理如下图:

2CBC.jpg

将明文分成固定长度,将前面一个加密块输出的密文与下一个要加密的明文块进行XOR(异或)操作计算,将计算结果再用密钥进行加密得到密文

第一明文块加密的时候,因为前面没有加密的密文,所以需要一个初始化向量(IV)

优点:

1.不容易主动攻击,安全性好于ECB,适合传输长度长的报文。

缺点:

1.每个加密块依赖于前一个加密快,不利于并行计算;且若有误差,影响后面的块,即误差传递;

2.需要初始化向量IV

加密反馈模式 Cipher Feedback Mode(CFB):

原理如下图:

用一个length位的位移寄存器(length 为加密算法的加密单位),每次处理n位的数据(n通常为8,一字节),加密过程是对位移寄存器进行加密。

使用加密后的位移寄存器的高n位与n位明文加密的密文块,再使用密文填充寄存器,重复这个过程。

 优点:

1.分组密码转化为流模式;

2.可以及时加密传送小于分组的数据;

缺点:

1.不利于并行计算;

2.误差传送:一个明文单元损坏影响多个单元;

3.需要IV;

输出反馈模式  Output Feedback Mode(OFB):

原理如下图:

 

用一个length位的位移寄存器(length 为加密算法的加密单位),每次处理n位的数据(n通常为8,一字节),加密过程是对位移寄存器进行加密。

使用加密后的位移寄存器的高n位与n位明文加密的密文块,再使用位移寄存器加密结果高n位移至最后,填充寄存器,重复这个过程。

 优点:

1.分组密码转化为流模式;

2.可以及时加密传送小于分组的数据;

3.每个加密快都是与位移寄存器异或计算,相互之间没有依赖关系,避免的误差传送。

缺点:

不利于并行计算;

 

参考资料:http://www.cnblogs.com/happyhippy/archive/2006/12/23/601353.html

转载于:https://my.oschina.net/ashnah/blog/870509

;