是时候破解 DES 了吗?这是一个适合脚本小子的任务吗?

Posted

技术标签:

【中文标题】是时候破解 DES 了吗?这是一个适合脚本小子的任务吗?【英文标题】:Time to crack DES? Is it a task suitable for a script kiddie yet? 【发布时间】:2009-07-31 13:33:54 【问题描述】:

已经了解 AES 是首选的加密方法,如果可能的威胁是脚本小子级别,是否应该重写使用 DES 的现有代码? (例如,非计算机专业人员可以使用免费实用程序破解 pkzip 密码,那么 DES 也是这样吗?)快速的谷歌搜索似乎暗示即使已弃用的 DES 仍然需要超级计算机和大量时间——或者时间已经改变?

特别是,CAPTCHA library 使用 DES 来加密在视图状态中发送给用户的挑战字符串。

【问题讨论】:

【参考方案1】:

DES 在存储敏感数据方面被破坏了,所以我肯定不会在任何新的东西中使用它,而是会在任何用于长期存储任何感兴趣的信息(有人会从中获利的数据)中替换它偷窃的国家安全利益)。

目前,使用价值不到 100,000 美元的定制硬件,DES 消息可以在几天(或更短时间)内被暴力破解。

但其中有一些关键因素:

硬件是定制 - 用于快速破解 DES 密钥的芯片不是您在 PC 中找到的通用处理器。话虽如此,今天可能有空间使用一组 Playstation 3s 或带有 GPGPU 的当前一代显卡在合理的时间内破解 DES 消息,或许将成本降低到 15,000 美元左右。

另一个因素是时间 - DES 消息可以在一天内破解,但如果您的 CAPTCHA 库有一个时间戳为任何给定的 CAPTCHA 响应指定 30 分钟超时,它仍然有效(您可以扩大您的硬件,但你说的是数百万)。

总的来说,我想说的是,对于非长期存储,DES 仍然可以抵御“脚本小子”。

【讨论】:

【参考方案2】:

不,DES 破解不适合脚本小子,在不久的将来可能不会。

它需要如此巨大的处理能力,我们谈论的是 FPGA 处理器的负载。

例如,CHES 2006 secret key challenge 中的 COPACOBANA 使用了 128 个处理器中的 108 个,耗时 21 小时 26 分钟 29 秒,吞吐量为每秒 431.852 亿个密钥,并在搜索 4.73507% 的低谷后找到了密钥键空间

现在,如果我们查看moores law,我们会看到,如果我们目前制造一台类似的机器,那么目前花费 1/4 的时间来获得相同数量的资金,或者 1/4 的资金用于相同的时间。

【讨论】:

【参考方案3】:

DES 被加密社区的标准所破坏;但是打破它所需的时间通常足够大,以至于在这种应用程序中使用它是“安全的”。有一个假设:DES 密钥在会话之间发生变化。如果密钥没有改变,那么它很容易受到非常敬业的个人的攻击。现在的问题是,您的网站是否受制于那些将花费 10 天以上的时间来破解 DES 的人,而不是应用垃圾邮件行业其他人的经验教训来进行图像识别。

【讨论】:

【参考方案4】:

DES 对于大多数用例来说可能仍然足够好。但关键是,通常有理由使用已知相当弱的算法(或者在这种情况下更确切地说:密钥强度)。 Wikipedia 指出,即使使用特殊硬件,也需要大约 9 天才能进行详尽的密钥搜索。我不认为脚本小子可能会花费那么多 CPU 时间(即使他们有僵尸网络)只是为了破解验证码。 (其实只要有足够的智能图片识别,破解验证码通常会容易很多……)

【讨论】:

以上是关于是时候破解 DES 了吗?这是一个适合脚本小子的任务吗?的主要内容,如果未能解决你的问题,请参考以下文章

C#(加密)Des很容易被破解吗?

拒绝做工具小子—编写Python漏洞验证脚本

使用弱密钥暴力破解 DES

Loopback 1.1.7 Mac破解版

网络安全给你3个月,如何从脚本小子变成顶级黑客?

混合加密算法(RSA和DES)