OFB模式解读

时间:2024-04-11 18:03:31

一 什么是OFB模式

OFB模式的全称是output-Feedback模式(输出反馈模式)。在OFB模式中,密码算法的输出会反馈到密码算法的输入中。

OFB模式不是通过密码算法对明文直接加密的,而是通过将“明文分组”和“密码算法的输出”进行XOR来产生“密文分组”的。

OFB模式的加密

OFB模式解读

OFB模式的解密

OFB模式解读

二 初始化向量

OFB模式需要使用初始化向量(IV)。一般来讲,我们需要在每次加密时生成一个不同的随机比特序列用作初始化向量。

三 CFB模式和OFB模式的对比

OFB模式和CFB模式的区别仅仅在于密码算法的输入。

CFB模式中,密码算法的输入是前一个密文分组,也就是将密文分组反馈到密码算法中,因此有了“密文反馈算法”这个名字。

OFB模式中,密码算法的输入则是密码算法前一个输出,也就是将输出反馈给密码算法,因此就有了“输出反馈模式”这个名字。

CFB模式和OFB模式对比图

OFB模式解读

CFB模式中是对密文分组进行反馈,因此必须从第一个明文分组开始按顺序进行加密,也就是说无法跳过明文分组1而先对明文分组2进行加密。

OFB模式中,XOR所需要的比特序列(**流)可以事先通过密码算法生成,和明文分组无关。只要提前准备好所需的**流,则在实际从明文生成密文的过程中,就完全不需要动用密码算法了,只要将明文与**流进行XOR就可以了。和AES等密码算法相比,XOR运算是非常快的。这就意味着只要提前准备好**流就可以快速完成加密。换个角度来看,生成**流的操作和进行XOR运算的操作是可以并行的。