java - 如何使用已知 IV 解密 AES/CBC

标签 java aes encryption

我有一个不可能完成的任务,就是解密客户端发送的 AES/CBC 加密数据包。我做了很多研究,让我相信如果 IV 是静态的,加密是不安全的。具体来说,对于此任务,IV 始终静态设置为 0。有什么方法可以做到这一点吗?

编辑: 纯文本是哈姆雷特剧本的片段。客户端以随机 block 的形式发送它们,因此长度甚至不一致。数据包最终可能会重复,但我不能 100% 确定。

最佳答案

不是没有 key 。

具体来说,假设没有填充,每次使用相同 IV 时出现的漏洞是,如果您开始加密上次加密的相同数据,您将两次获得相同的加密字符串。这使攻击者可以推断出有关消息内容的某些信息,但无法帮助他们解密消息。

关于java - 如何使用已知 IV 解密 AES/CBC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3225640/

相关文章:

java - 如何解决错误 : "Resource IDs cannot be used in switch statement in Android library modules"

java - org.openqa.selenium.NoSuchElementException : Unable to locate element error

java - CSS学生类

java - 命令提示符中不存在包

c++ - 如何将 SecByteBlock 转换为字符串?

c++ - 在 NodeJS 与 OpenSSL C++ 中加密时获取不同的值

cryptography - 对如何使用 AES 和 HMAC 感到困惑

C - 能够读取 EVP 加密文件,但是当我将它存储在一个字符数组中时,一切都消失了

Java AES 加密 - 在客户端和服务器之间发送初始化 vector

java - Bouncy CaSTLe 的安全异常