【问题标题】:How do brute force decryption attacks know when they've found the right solution? [closed]暴力解密攻击如何知道他们何时找到了正确的解决方案? [关闭]
【发布时间】:2011-03-04 14:51:44
【问题描述】:

对加密数据的暴力攻击如何知道他们何时找到了解密数据的正确密钥?有没有办法知道数据已被解密,而不是让人类查看它?如果不是对人类友好的数据怎么办?

【问题讨论】:

  • 是否有可能有人以这样一种方式加密数据,以便可以通过多种方式对其进行解密,从而产生多个有效但不同的结果? (也许只有其中一个是正确的。)
  • @JAB:您只需一次性完成即可自动获得...只是 OTP 仅在某些受限情况下才有用。
  • 回答这个与编程无关的问题:利用纯文本在冗余和格式方面的已知或预期属性。 Alice 可以通过在加密之前有效地压缩纯文本,让 Eve 的生活更加艰难。

标签: encryption brute-force cryptanalysis


【解决方案1】:

这取决于加密方法。例如,使用 RSA 加密,如果您正在寻找私钥,当公钥是相关数字的倍数时,您就知道您已经找到了。

【讨论】:

    【解决方案2】:

    密码分析者希望知道密文和明文。将密文解密为明文的密钥当然是正确的密钥。

    如果没有已知的明文,则必须知道数据的格式。例如,纯文本 HTML 包含标签。电话目录明文包含电话号码。以此类推。

    【讨论】:

    • ...这就是为什么你应该在应用加密之前用一种秘密的私人语言写你的超级秘密消息。 ;) ...当然,这种语言仍然可以被破译,但它会使破解消息的工作变得更加困难。
    • ... 或者只是加密多次。顺便说一句,我正在完成戴夫布朗的可怕书数字堡垒
    • @Adam Gent:别打扰。几乎任何其他活动都更值得。
    • 如果你讨厌数字堡垒,你也会讨厌密码阴谋。以及变形金刚中解密和翻译霸天虎语言的部分。
    • @Adam Gent 多次加密与单个复杂加密相同——这是一个古老的概念,在第二次世界大战期间被应用(Enigma 和朋友们)
    【解决方案3】:

    这取决于算法。许多算法只有一个正确的解密密钥。当您拥有密钥后,您可以轻松地在多项式时间内验证它是正确的密钥。

    虽然有些算法无法知道您何时拥有正确的密钥。所有纯文本(正确长度)都可以给出输出。这种方案的一个示例是具有 XOR 加密的one-time pad。但是,如果重复使用一次性密文,则可以对密文进行异或运算以删除密钥,然后可以使用frequency analysis 等技术提取两个明文消息,以确定它是什么类型的数据以及最有可能的数据类型解密是。

    【讨论】:

    • 一次性垫+1! ...虽然我认为它们被称为一次性便笺簿因为它们不能重复使用...或者它们可以但强烈不推荐。
    • @Frustrated:如果您重复使用它们,它们将失去所有出色的数学保证安全性...
    • 如果你重复使用它们,它们是两次垫。
    • “当您拥有密钥时,您可以轻松地验证它是多项式时间内的正确密钥。”他们如何验证它是正确的密钥?是暴力攻击然后简单地验证所有可能的密钥?
    • 也许是最著名的一次性便笺簿重用:en.wikipedia.org/wiki/Venona#Breakthrough
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-12
    • 2013-04-08
    • 1970-01-01
    • 2014-01-15
    相关资源
    最近更新 更多