2010-06-16 67 views
11

对加密数据的暴力攻击如何知道他们何时找到正确的密钥来解密数据?有没有办法知道数据被解密,除了让人看着它?如果它不是人性化的数据呢?蛮力解密攻击如何知道他们何时找到了正确的解决方案?

+1

某人是否有可能以这种方式对数据进行加密,以便能够以多种方式对其进行解密,从而生成多个有效但不同的结果? (也许只有其中一个是正确的。) – JAB 2010-06-16 18:25:43

+0

@JAB:你可以通过一次性按钮自动获得它......这只是OTP仅在某些受限制的情况下有用。 – dmckee 2010-06-16 18:32:45

+3

**回答以下非编程相关问题:**通过利用纯文本的冗余和格式的已知或预期属性。在加密之前,爱丽丝可以通过有效地压缩纯文本来使夏娃的生活更加艰难。 – dmckee 2010-06-16 18:36:30

回答

7

这取决于加密方法。例如,使用RSA加密,如果您正在查找私钥,则您知道在公钥为该数字的倍数时找到了私钥。

8

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

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

+0

...这就是为什么你应该在应用加密之前,用秘密私人语言*写出超超级秘密信息的原因。 ;) ......当然,这种语言仍然可以被破译,但它会使破解信息的工作更加困难。 – FrustratedWithFormsDesigner 2010-06-16 18:26:45

+2

...或者只是多次加密。无意中,我正在完成戴夫布朗的恐怖书*数码堡垒* – 2010-06-16 18:29:09

+2

@Adam根特:不要打扰。几乎任何其他活动都更值得。 – FrustratedWithFormsDesigner 2010-06-16 18:31:05

3

这取决于算法。使用许多算法只有一个正确的解密密钥。当你拥有密钥时,你可以很容易地验证它是多项式时间中正确的密钥。

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

+0

+1一次性垫! ...虽然我认为他们被称为一次性垫*,因为他们不能被重用......或者他们可以但是强烈推荐反对。 – FrustratedWithFormsDesigner 2010-06-16 18:29:29

+1

@Frustrated:如果你重用他们,他们会失去*所有*那美妙的数学保证安全... – dmckee 2010-06-16 18:34:24

+3

如果你重用他们,他们是两次垫。 – 2010-06-16 18:59:46