破解DES需要解密整个文件?

时间:2012-02-01 07:43:01

标签: security encryption

我想知道是否有必要解密整个DES加密文件以确定给定密钥是否正确。

如果是这样,是否意味着强力攻击所需的时间取决于文件大小?还有其他选择吗?

此外,这也适用于AES吗?

我在假设更大的文件需要更长的时间来解密/加密的情况下问这个问题。如果我错了,请纠正我。

4 个答案:

答案 0 :(得分:1)

通常情况下,一对明文 - 密文对足以发动暴力攻击。如果文件应该有一个文件头,通常可以检索这些对。

答案 1 :(得分:1)

DES(或更确切地说是3DES,因为没有人再使用DES了。破解DES需要......一台笔记本电脑和50分钟),以及AES,都是分组密码。他们不验证输入,他们只是应用转换并吐出输出。从纯加密的角度来看,无法知道文件是否正确或不正确。

但是所有分组密码一次只能在一个块上运行,您可以在数据开头处拥有特定于应用程序的标头,这些标头可以快速验证(幻数)并丢弃整个数据,没有解密它,如果他们没有验证(长验证标题适合婴儿床攻击,正如blether指出的那样)。这绝不是与实际加密验证数据相同,这是通过签名完成的, 需要整个数据。

总而言之,长话短说:不要重新发明轮子。使用像PGP这样的货架产品。 "World is full of bad security systems designed by people who read Applied Cryptography."

答案 2 :(得分:1)

您可能想要研究“单一距离”的概念。通常,您只需要对文件进行远程测试,以确保您拥有正确的密钥。 DES有一个64位密钥,8个字节。出于大多数目的,在确定试用密钥是否正确之前,您可能不需要解密超过前两个块(16个字节)。

Rossum的

答案 3 :(得分:1)

通常,当需要检查更多数据时,密码会变得更少安全。

我将举例说明:如果您知道有数千个包含文本的加密块,您可以尝试加密包含字符的已知文本。现在你有数以千计的块来测试,如果匹配,你就找到了密钥。因此,如果存在与文件大小的连接,则它是相反的:如果纯文本上有更多数据,则更容易破坏密钥。当然,它有多大帮助取决于数据和攻击本身,加密模式等等。

许多易受侧信道攻击影响的实现甚至可以获得使用某个(会话)密钥加密/解密块的最大次数。之后,应生成一个新密钥。

要重复其他答案,在许多情况下,单个块足以执行暴力攻击。拥有更多块只能帮助攻击者。