首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在重复使用key和IV时破坏AES/CBC/PKCS5 5?

如何在重复使用key和IV时破坏AES/CBC/PKCS5 5?
EN

Cryptography用户
提问于 2013-11-21 16:45:49
回答 2查看 13K关注 0票数 10

我正在为一个密码解决方案进行代码审查,该解决方案用一个常量IV重复使用相同的密钥。我想证明,通过计算密钥和解密他们所有的测试数据,这不是正确的方法。

  • 我可以接触到很多密文。
  • 我知道用的是同样的钥匙。
  • 我知道用的是同样的静脉。
  • 密码为AES/CBC/PKCS5 5
  • 明文为16个字节。
  • 密文为32个字节(PKCS5填充?)
  • 我可以把任何我想要的明文通过系统,然后得到密文。

破坏这个系统的高级伪代码或进程是什么?

EN

回答 2

Cryptography用户

发布于 2013-11-21 18:55:47

如果最后16个字节的密文是填充,那么您实际上有简单的ECB (电子CodeBook)模式。欧洲央行是安全的,只要你所有的公开声明都有一个街区长,而且永远不会重复。

票数 5
EN

Cryptography用户

发布于 2013-11-22 00:39:12

你没有提到密码的任何认证。如果您可以更改IV (听起来非常不可能),那么您可以对明文(好像是 )进行相当精确的更改。

理想情况下,从您的角度来看,可能会有一个填充甲骨文攻击 (我不理解,所以这里不会描述)。

如果您可以更改第一个密文块并找出它们使用的填充方案,那么您可以导致解密输出一个大于16个字节的明文,其中前16个字节被混淆,其余的输出由您选择。如果您可以更改两个密文块,并了解这些明文解密到哪些明文,并找出它们正在使用的填充方案,那么您可以使解密输出一个大于16个字节的明文,在这个明文中,您对明文的前16个字节有很小的控制,其余的明文则由您选择。

如果您更改了第一个密文块并找出了它们使用的填充方案,并且当最终块解密为全零时,它们的解填充将不会被拒绝,那么对于每一个密文,都有一个小于16个字节的明文,您可以将其解密输出。

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

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

复制
相关文章

相似问题

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