首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >利用解密实现CBC加密

利用解密实现CBC加密
EN

Cryptography用户
提问于 2015-08-01 21:08:53
回答 2查看 2.1K关注 0票数 4

我已经实现了这个算法,它从消息的末尾向后执行,使用块密码的解密操作而不是加密操作,从任何明文创建有效的CBC加密文本。

我打赌这是在文献中描述的,在某个地方。可能是个坏主意。

我的问题:

  1. 这种方法/算法/结构叫什么?
  2. 它是否与CBC的正常实现方式一样安全?
  3. CBC IV的正常规则是否适用于最后一个密文块?

对于那些想知道为什么我想从最后加密我的消息的人来说,这是一个利用填充oracle攻击(针对我自己服务器上运行的虚拟代码)的练习。

EN

回答 2

Cryptography用户

回答已采纳

发布于 2015-08-01 21:51:41

这种方法/算法/结构叫什么?

不知道,这是我新买的。

它是否与CBC的正常实现方式一样安全?

应该是的。作为抽象的‘获取明文,输出密文’模型,这种方法(具有随机的最后一个密文位)具有与CBC模式相同的密文输出分布(带有随机IV),因此从这个角度来看,它同样好。而且,我没有看到任何额外的侧通道类型攻击(即侦听加密过程的攻击)。

CBC IV的正常规则是否适用于最后一个密文块?

实际上,较小的限制适用。使用标准的CBC模式实现,您需要生成无法预料的IVs (如果不这样做,可能会有选择的明文攻击)。这样,您只需要在随机的最后一个密文位中惟一(请不要故意复制前一个密文块)。这可以通过将块密码看作是随机的Oracle来看到;只要之前还没有看到最后一个密文块,那么攻击者就不会知道导致该块的“加密”的信息(除此之外,它是一个他以前从未见过的值);只要您处于生日范围内,您就不必意外地重新发出密文块。因此,虽然使用计数器生成带有标准CBC模式的IVs是一个非常糟糕的想法,但实际上在这里是安全的。

票数 5
EN

Cryptography用户

发布于 2015-08-02 01:22:54

您的模式实质上等同于循环流化床模式,只是:

  1. 您已经颠倒了消息中块的顺序,并且
  2. 你在和平时相反的方向上使用分组密码。

这两个差异都不应该有任何直接的安全影响(因为所有标准块密码在两个方向上都具有相同的安全属性),所以您的方案应该与CFB模式一样安全。

票数 6
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

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

复制
相关文章

相似问题

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