对加密数据的暴力攻击如何知道他们何时找到了解密数据的正确密钥?有没有办法知道数据已被解密,除了让人看到它?如果它不是人类友好的数据怎么办?
答案 0 :(得分:8)
Cryptanalysts希望知道密文和明文。将该密文解密为该明文的密钥当然是正确的密钥。
如果没有已知的明文,则必须知道数据的格式。例如,明文HTML包含标签。电话目录明文包含电话号码。等等。
答案 1 :(得分:7)
这取决于加密方法。例如,使用RSA加密,如果您正在查找私钥,您知道在公钥是相关数字的倍数时就找到了它。
答案 2 :(得分:3)
这取决于算法。使用许多算法,只有一个正确的解密密钥。拥有密钥后,您可以轻松验证它是多项式时间内的正确密钥。
使用某些算法虽然无法知道何时拥有正确的密钥。所有普通文本(正确长度)都可以给出输出。这种方案的一个例子是具有XOR加密的one-time pad。但是,如果重复使用一次性密码,则可以将密文相互异或以删除密钥,然后可以使用frequency analysis之类的技术提取两个明文消息,以确定它是什么类型的数据以及最有可能的解密是。