这在小型超级计算机上是否实用?

Rya*_*mos 6 java supercomputers

我正在调查WEP,作为其中的一部分,我正在使用RC4算法.我正在试图决定是否可以写一个反表(虽然很大......我没有空间,我不打算写一个).为此,我决定检查前10个字节中有多少匹配输出.这将帮助我决定逆表的工作情况.

当然,64位RC4加密具有2 ^ 64个可能的密钥,因此这意味着进行~2 ^ 128比较.另外,每次比较必须生成10个字节,大约265个循环.(RC4初始化为256,字节本身为10).

开展业务:

在具有大约100个核心的超级计算机上,是否可以在20天内执行大约2 ^ 135次计算?

(20天是限制,直到我开始.我最终只有8,或者我最终可能会有400+,但我猜的是100个核心.)

如果它意味着什么,我的程序是用Java编写的.http://pastie.org/2118864

bco*_*lan 4

有趣的问题,很难正确回答。可扩展性是大多数时候“尝试看看”的事情之一。

需要注意的一件事是,由于其他因素,您将获得多核系统的线性扩展

假设您的程序可以n每秒比较密钥。100n因此,理想的(即线性)100 核系统每秒计算密钥。比较所有密钥(最坏的情况,现实情况是一半)需要(2^135/100n)/86400几天的时间。

如果n是1000,则需要5041220250680569829087031221211天,这比一些对宇宙年龄的估计长了大约10万倍。

所以我要说......不:)密码算法是为此类攻击而设计的。另外,在编写此类应用程序时,Java 将是最后选择的语言 :p