如果有人破解了加密,他们怎么知道自己成功了?

信息安全 密码学 密码分析
2021-08-21 21:15:31

假设我有一个包含随机比特的文件,然后我使用一些现代算法(Blowfish、AES 或其他算法)对其进行加密。如果有人捕获了文件并对它进行了暴力攻击,他们怎么知道他们已经成功解密了它?原始输入是否有意义是显而易见的,但在这种情况下,原始输入只是一堆随机字节。如果有的话,他们怎么知道这是正确的随机字节串?

4个回答

他们不会。您描述的问题在有关Unicity Distance的维基百科文章中得到了很好的解决。那篇文章还链接到Bruce Schneier 的一篇文章,该文章可能更易于访问。

通常人们不会加密随机垃圾。假设他们这样做了,只有密文的攻击是不可能的。

然而,考虑到常见的加密方案添加到消息中的非随机数据,例如填充数据消息验证码在某些方案中,这些可用于检查猜测的密钥是否正确。

一般来说,他们不能破坏加密(如果你加密随机文件(例如密钥)甚至压缩文件),但如果嗅探器对发送者或接收者系统有其他访问权限,他们可以进行其他类型的攻击,并且可以破坏随机文件加密。你在那里阅读更多:

如果明文只是随机的,那么他们将不知道。但是,大多数文件类型都有某种可识别的结构。使用密钥 C 将 blob A 通过算法 B 将产生一些输出。如果该输出具有结构,那么您就有了赢家。