分组密码的模式之 OFB模式
OFB模式
OFB模式的全称(Output-Feedback)(输出反馈模式)。在OFB模式中,密码算法的输出会反馈到密码算法的输入中。
OFB模式并不是通过密码算法对明文直接进行加密的,而是通过将“明文分组”和“密码算法的输出”进行XOR来产生“密文分组”的。
OFB模式(输出反馈模式).png OFB模式(输出反馈模式).png
初始化向量
OFB模式中也需要使用初始化向量。一般来说,我们需要每次加密时。生成一个不同的随机比特序列作用作为初始化向量.
CFB模式与OFB模式的对比
OFB模式和CFB模式区别仅仅在于密码算法的输入。
CFB模式中,密码算法的输入时前一个密文分组,也就是将密文分组反馈到密码算法中,因此就有了“密文反馈模式”这个名字。
相对地,OFB模式中,密码算法的输入则是密码算法的前一个输出,也就是将输出反馈给密码算法,因此就有了“输出反馈模式”这个名字。
如果将一个分组抽出来对CFB模式和OFB模式进行一个对比,就可以容易看出它们之间差异。
CFB模式与OFB模式对比.png
由于CFB模式中是对密文分组进行反馈的,因此必须从第一个明文分组按照顺序进行加密,也就是说无法跳过明文分组1而先对明文明文分组2进行加密。
相对地,在OFB模式中,XOR所需要的比特序列(密钥流)可以事先通过密码算法生成,和明文分组无关。只要前提主播好所需要的密钥流,则在实际从明文生成密文过程中,就完全不需要动用密码算法了,只要将明文与密钥流进行XOR就可以了。和AES等密码算法相比,XOR运算的速度是非常快的。这就意味着只要提前准备好密钥流就可以快速完成加密。换个角度来看,生成密钥流的操作和进行XOR运算的超时是可以并行的。
该系列的主要内容来自《图解密码技术第三版》
我只是知识的搬运工
文章中的插图来源于原著
网友评论