首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >破解DES需要解密整个文件?

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

Stack Overflow用户
提问于 2012-02-01 15:43:01
回答 4查看 352关注 0票数 0

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

如果是这样,这是否意味着暴力破解所需的时间取决于文件大小?还有别的选择吗?

另外,这也适用于AES吗?

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

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-02-02 04:22:22

一般来说,当有更多的数据需要检查时,密码就会变得不那么安全。

我将给你一个例子:如果你知道你有数千个包含文本的加密块,你可能会尝试加密一段已知的包含字符的文本。现在您有数千个块可供测试,如果其中一个匹配,您就找到了关键。因此,如果与文件大小有关系,那就是相反的关系:如果纯文本上有更多的数据,你的密钥就更容易被泄露。当然,它有多大的帮助取决于数据和攻击本身,以及所使用的加密模式等。

许多易受旁路攻击的实现甚至可以使用某个(会话)密钥对块进行加密/解密的最大次数。在此之后,应该生成一个新密钥。

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

票数 1
EN

Stack Overflow用户

发布于 2012-02-01 15:46:44

通常,一个明文-密文对足以进行暴力破解攻击。这样的对通常可以通过文件头来检索,如果文件应该有一个的话。

票数 1
EN

Stack Overflow用户

发布于 2012-02-01 15:50:05

DES (或者更确切地说是3DES,因为没有人再使用DES了。破解DES需要...笔记本电脑和50分钟),以及AES,都是块密码。它们不验证输入,它们只是应用转换并输出输出。从纯密码的观点来看,无法知道文件是正确的还是错误的。

但是所有的块密码一次只在一个块上操作,你可以在你的数据开始时使用特定于应用程序的报头,这些报头可以被快速验证(短的魔术数字),如果它们没有验证,就丢弃整个数据,不解密(正如blether指出的那样,长的验证报头会导致婴儿床攻击)。这绝不等同于实际的加密验证数据,这是通过签名来完成的,并且确实需要整个数据。

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9092440

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档