密码学基础知识---CFB---OFB---CTR

1 CFB—cipher feedback----密文反馈模式

版权说明,并非原创!!!只是简单的知识总结记录
[日]结城浩出版社,图解密码技术(第3版),人民邮电出版社出版时间,2016年06月。感谢!

-在CFB中,前一个密文分组会被送回到密码算法的加密端。所谓反馈就是指返回输入端的意思
密码学基础知识---CFB---OFB---CTR_第1张图片

  • 我们来分析上图,我们可以发现CFB的加密或者解密过程中都是”加密“,因为这是反馈模式,是将密文返回后加密之间的输入端的。
  • CFB与CBC的不同主要体现在,加密的先后。在CBC中,是先XOR运算再加密,而CFB是先加密再XOR运算。
    密码学基础知识---CFB---OFB---CTR_第2张图片
  • 同样的,第一个密文分组,不存在前一个输出的数据,所以需要初始向量化(IV)来代替。这与CBC是一致的。
    注意
  • CFB的加密解密算法中依然执行的是加密操作,因为密钥流是通过加密操作实现的。这里其实上文中已经有过解释,但是这里仍然强调一下。希望引起注意。

1.1 对CFB的模式攻击

· 对CFB的模式攻击是重放攻击(replay attack)。

  • 有一天Alice 想Bob发送了一个消息,这消息由4个密文分组组成。主动攻击者Mallory截获了这些消息,并且将消息中的后3个密文分组保存了下来。
  • 隔天,Alice又向Bob发送新消息了。也是由4个密文分组(假设Alice用了相同的密钥)。Mallory将保存下来的密文替换掉现在的后3个密文分组。
  • 那么,Bob解密时,4个分组中只有第一个分组是对的,第二个是错的,第三个第四个是Mallory想要替换的内容。
  • 可以看到,Marroly没有破解密码,就成功的将以前的电文混进了新电文中。
  • 而第2组出错到底是通信出错还是被人攻击,这不好说、
  • 能不能判断是否被人篡改数据呢?能,MAC,后续会讲。
    密码学基础知识---CFB---OFB---CTR_第3张图片

2 OFB模式—output feedback

  • OFB的全称是输出反馈模式。在OFB算法中,密码算法的输出会反馈到密码算法的输入中
  • OFB模式并不是通过密码算法的明文加密,而是通过将“明文分组”和“密码加密算法的输出”进行XOR来产生“密文分组”。
    密码学基础知识---CFB---OFB---CTR_第4张图片

密码学基础知识---CFB---OFB---CTR_第5张图片

2.1 初始向量化

OFB模式也是需要初始向量化的(IV)

2.2 OFB与CFB的对比

  • 它们的区别仅仅在于密码算法的输入
  • 在CFB中,密码算法的输入是前一个密文分组,也就是将密文分组反馈到密码算法中,因此有“密文反馈模式“这个名字
  • 而在OFB中,密码算法的输入则是密码算法的前一个输出,也就是将输出反馈给密码算法,因此也有“输出反馈模式”这个名字。
    密码学基础知识---CFB---OFB---CTR_第6张图片

CTR模式----counTeR

  • CTR—计数器模式
  • CTR模式是一种通过将逐次累加的计数器进行加密来生成密钥流的流密钥。
  • 在CTR中,每个分组(明文分组或者密文分组)都对应一个计数器,并通过计数器来生成密钥流。最终的密文分组是通过将计数器加密得到的比特序列,与明文分组进行XOR运算
  • 密码学基础知识---CFB---OFB---CTR_第7张图片
    密码学基础知识---CFB---OFB---CTR_第8张图片

3.1 OFB与CTR模式的对比

  • OFB与CTR都属于流密码
  • OFB是将加密的输出反馈到输入
  • CTR是将计数器的值作为输入
    密码学基础知识---CFB---OFB---CTR_第9张图片

3.2 错误与机密性

  • 假设CTR模式的密文分组有一个比特翻转,也没关系。它只会影响翻转比特所在的密文分组,不会影响其他的分组。
    密码学基础知识---CFB---OFB---CTR_第10张图片

你可能感兴趣的:(密码学基础知识)