密码技术(四、三)之分组模式(CFB模式)

分组密码的模式之 CFB模式

CFB模式

 CFB模式的全称是Cipher FeedBack (密文反馈模式)。在CFB模式中,前一个密文分组会被送回密码算法的输入端。所谓反馈,这里指的就是返回输入端的意思。


CFB模式(密文反馈模式).png

CFB模式中,明文分组并没有通过密码算法直接进行加密。明文分组和密文分组之间并没有经过“加密”这一步骤。在CFB模式中,明文分组和密文分组之间只有一个XOR。

初始化向量

在生成第一个密文分组时,由于不存在前一个输出的数据,因此需要使用初始化向量来替代,这一个点和CBC模式相同的。一般来说,我们需要在每次加密时生成一个不同的随机比特序列用作初始化向量。

CFB模式与流密码

其实CFB模式模式的结构与我们前面介绍的一次性密码本非常相似的。一次性密码本是通过将“明文”与“随机比特序列”进行XOR运算生成“密文”的。而CFB模式则是通过将“明文分组”与“密码算法的输出”进行XOR运算来生成“密文分组”的。在通过XOR来进行加密这一点,两者是非常相似的。
在CFB模式中,密码算法的输出相当于一次性密码本中的随机比特序列。由于密码算法的输出是通过计算得到的,并不是真正的随机数,因此CFB模式不可能像一次性密码本那样具备理论上不可破译的性质。
CFB模式模式中由密码算法所生产的比特序列称为密钥流 。在CFB模式中,密码算法就相当于用来生成密钥流的伪随机数生成器,而初始化向量就相当于味素技术生成器的“种子”。
在CFB模式中,明文数据可以被逐比特加密,因此我们可以将CFB模式看作是一种使用分组密码来实现流密码的方式。

CFB模式解密

CFB模式解密过程,上图已经展示,CFB模式解密时,需要注意的是分组密码算法依然执行加密操作,因为密钥流是通过加密操作来生成的。

对CFB模式的攻击

有一天,Alice向Bob发送了一条消息,这两条消息是由4个密文分组组成的。主动攻击者Mallory将该消息中额后3个密文分组保存了下来。转天,Alice又向Bob发送了内容不同的4个密文分组(我们假设使用了相同的密钥)。Mallory用昨天保存下来的3个密文分组将今天发送的后3个密文分组进行了替换。
于是,在Bob解密时,4个分组中就只有第1个可以解密成正确的明文,第2个会出错,,而第3和第4个则变成了Mallory替换的内容(也就是昨天发送的明文的内容)。Mallory没有破解密码,就成功地将以前的的电文混入了新的电文中。而第2个分组出错到底是通信错误,还是被人攻击所造成?Bob是无法做出判断的。


对CFB模式进行重放攻击

该系列的主要内容来自《图解密码技术第三版》
我只是知识的搬运工
文章中的插图来源于原著

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 3.分组密码的模式 前面介绍的DES和AES都属于分组密码,它们只能加密固定长度的明文。如果需要加密任意长度的明文...
    husky_1阅读 9,049评论 0 0
  • 前言 《图解密码技术》一书介绍了很多关于密码的知识,通读一遍需要不少时间。为了方便学习,我对书中关键的部分进行了总...
    咖枯阅读 12,089评论 1 25
  • 1 公钥私钥 2 公钥加密 别人用A的公钥加密传输的信息,只有A的私钥可以解密。保证了传输的信息的安全性。 2 私...
    skykira阅读 4,518评论 0 1
  • 概述 什么是模式 第三章介绍的对称密码算法DES、AES都属于分组密码,分组密码的特点是分组的长度是固定的。但是由...
    JMasche阅读 8,385评论 0 4
  • 工作或者面试过程中我们总会接触到密码相关的技术和问题,本篇文章是我对近期阅读《图解密码技术》的总结,这本书很值得推...
    乐Coding阅读 5,353评论 0 5

友情链接更多精彩内容