分组密码算法加密模式

一.分组密码加密模式简介

在分组密码中,一般所选用的密码算法都是公开的,加密过程中,只有**是保密的。一旦**固定,那么可以将加解密过程视为一个映射,例如AES算法,每加密一次,就可以视为128bit到128bit的数据映射。在实际加密中,一般加密的数据不会只有几百bit,而是几mb,甚至几gb。这样,加密过程就是每加密128bit接着再加密128bit,直至将全部数据加密完。那么,就有几种常见的加密模式。

二.五种加密模式

1.ECB模式

这是最简单最普通的加密模式,就是加密完一轮数据,接着加密下一轮数据,不同轮次之间的数据间无任何关系,如下图所示:
分组密码算法加密模式

2.CBC模式

这种模式就是上面一轮加密的结果与下一轮的明文进行异或,然后进行加密。因为第一个明文分组没有前面的密文与之异或,故需要一个初始向量IV。
分组密码算法加密模式

3.CFB

将数据进行加密的结果与明文进行异或得到密文,然后再将密文进行加密再与明文异或得到下一个密文,依次类推。同理,在最开始的时候需要一个初始向量IV。
分组密码算法加密模式

4.OFB

将一个初始向量一直加密,每加密一次的结果与明文进行异或得到密文。
分组密码算法加密模式
分组密码算法加密模式

5.CTR

一直加密计数器,得到加密的结果与明文进行异或得到密文。
分组密码算法加密模式