首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >改进的OFB操作模式的已知明文攻击

改进的OFB操作模式的已知明文攻击
EN

Cryptography用户
提问于 2018-10-26 15:31:07
回答 1查看 1.5K关注 0票数 1

问题:假设OFB模式的一个变体,我们只对密码输出中最重要的8位进行反馈。我们使用AES并用0‘S填充密码中剩下的120位输入位:

  1. 如果我们加密相当大的明文块,比如100-KByte,为什么这个方案是脆弱的?攻击者完全破坏该计划所需的已知明文的最大数量是多少?
  2. 让反馈字节表示FB。如果我们将128位值FB,FB,FB,\ldots,FB反馈给输入(即),该方案是否在密码学上变得更强?复制反馈字节16次,并使用它作为AES输入?

解决方案:

  1. 该方案的问题是,在AES算法中只有256个不同的输入FB_i。这意味着只有256个长度为128位的不同输出矢量构成密钥流。更糟糕的是,密码输出将很快进入周期。让我们表示FB_1,FB_2,\ldots的反馈字节序列,只要生成的反馈字节FB_j等于前一个FB_i,即i<j,该序列;FB_i,FB_{i+1},FB{i+2},\ldots,FB_j=FB_i,FB_{i+1},\ldots周期性地重复。由于FB只有256个不同的值,因此最大序列长度为256个。由于每个值都与128位(16字节)的AES输出相关联,密钥流序列s_i的最大周期长度为: 128x16= 2048 byte= 2K字节。(这不是不对吗?在我看来,应该是256×16吗?)在此之后,流密码输出必须重复(而且周期长度很可能更短)。因此,如果攻击者需要知道最多2千字节的明文,才能恢复整个系统流密码输出,那么他就可以解密所有其他密文。
  2. 不,我们仍然只生成最长为256个16字节的密钥流字。

这个解决方案来自于这本书的手册。我不明白为什么第1部分是128 x 16而不是256 x 16?有人能解释给我听吗。另外,我根本没有拿到第二部分。我需要一个全面的解释。

EN

回答 1

Cryptography用户

回答已采纳

发布于 2018-10-26 19:06:31

  1. 它应该是256*128 = 4096字节。周期最多256,每个加密输出128位.
  2. FB,FB,\ldots,FB系列输入明文时,我们再次采取8 MSB形式,即仍然有256个不同可能性的密文。清楚地看到这幅画;
    1. 在第一种情况下,输入空间只有256个明文,由120-0和8位组成。
    2. 在第二种情况下,输入空间仍然有256条明文,由重复字节组成。再次00\ldots 00, 01\ldots 01, \ldots , FF\ldots FF,一旦FB_i = FB_j, i \neq j,我们将有一个周期,最多256个周期。
票数 1
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/63491

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档