首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >找到前两个块的明文给出最后的明文块,IV和密文为CBC?

找到前两个块的明文给出最后的明文块,IV和密文为CBC?
EN

Cryptography用户
提问于 2020-09-03 10:01:03
回答 1查看 196关注 0票数 0

我有以下几点:

  • 完整密文;
  • 四、
  • 最后一个明文块,包括填充,即04040404

加密是用AES-CBC-256进行的.我可以通过异或ing C2和P3找到中间块。

我不能使用填充oracle,因为没有服务器来验证填充。我在14轮中没有发现任何关于明文攻击的帮助,只有4次。

是否有任何方法可以找到其余的明文(P1,P2)或密钥(C2⊕P3,C3)?

EN

回答 1

Cryptography用户

回答已采纳

发布于 2020-09-04 10:07:31

让我们考虑一下您所知道的:您有最后一个块,IV和整个密文。你不知道的是钥匙或纯文本。由于CBC模式加密只对第一个块直接使用IV,所以必须在IV对攻击有用之前找到第一个块。由于CBC模式使用AES(plaintext[i] XOR ciphertext[i-1], key),并且您知道最后一个块的明文,以及前一个块的密文,所以您最终得到了一个通用的已知明文大小写。那你能做什么?

  • 填充甲骨文攻击:
    • 你已经说过没有服务器来填充甲骨文攻击,所以这是不可能的

  • 使用AES本身的已知明文攻击查找密钥:
    • AES是为了防止已知的明文攻击而设计的,所以没有什么你能做的。当然,除非你知道密码界其他人不知道的事.

知道IV不会有帮助,因为IV只适用于第一个区块。

您知道AES(something XOR iv, key) = ciphertext[0],但是由于您不知道纯文本或密钥,所以最好是AES(something, key) = ciphertext[0]。知道(某件事)是什么也于事无补,因为你只会得到另一个已知的明文场景,所以即使你得到了第一个明文块,密钥也是无法获得的--这就是加密的意义,填充预言器是操作模式的问题,而不是算法本身。

我很抱歉地说你是索尔。

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

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

复制
相关文章

相似问题

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