我正在考虑通过Paul C. van Oorschot和Michael J. Wiener设计的方法,假设$ 2 ^ {32} $已知的明文/密文对(仅32GiB密文)对两键三重DES加密的攻击。 -对两键三重加密的纯文本攻击(在Eurocrypt 1990中进行),或另一种不需要大量计算DES的已发布方法。
作为决策者的综合信息,我正在寻找一个独立的估计量假设人类在当日(2012年4月)之前建造的所有RAM都已充分使用,那么这预计将需要的时间。
注意:我故意不问,使用所有RAM曾经是人类建造的,因为对人类将建造RAM的数量以及何时建立的估计不太容易被证伪。
更新:我不考虑成本。包括DES引擎在内的RAM,电源和逻辑都没有(只要DES操作的数量保持在$ 2 ^ {90} $以内)。我愿意假设使用的RAM数量及其有效速度是确定预期攻击持续时间的唯一因素。这类似于链接论文作者的假设,即他们的攻击受到所用RAM的数量(或成本)的限制,而所有其他次要因素也受到限制。
更新:可悲的是,没人敢回答问题和悬赏期已经结束。因此,这是一阶批评的答案。

评论

我是否可以假设问题的一部分正在得出到目前为止已构建的总RAM的估计值?

这个问题真的正确提出了吗?如果您参考1990年最初发表的Oorshot-Wiener论文,似乎内存需求由已知纯文本的数量确定,并且使用$ 2 ^ 32 $已知纯文本,两个表中的最大表需要$ 2 ^ 40 $位,即1 TB。还是我想念什么?

是的,问题的一部分是估计迄今为止构建的RAM总量及其在攻击情况下的可用访问速率。 $ 2 ^ {32} $块在此处与作者假定的条件匹配。 32 Giga Bytes使该数字成为现实。是的,在最简单的设置中,攻击仅需要最大表中的$ 2 ^ {40} $位,但是运行时令人恐惧。因此,我认为我们可以充分利用迄今为止构建的所有RAM,并要求运行时间。我可以设计出最好的方法来使结果作为单个数字易于理解。

大表设置为$ 2 ^ {40} $位的原因是,它应该包含已知明文的哈希表。 AFAICS不需要更多的RAM,除非您还有更多已知的纯文本来填充。

是的,但是我认为您希望获得攻击所需时间的半现实下限,显然,这不仅取决于构建的RAM数量,还取决于工程问题和许多其他成本;不仅是其他硬件的成本,还包括您可能物理连接到单个内存实例的CPU核心和DES引擎的数量,制造这种电路的成本以及运行和冷却事物的能源成本?简而言之:限制攻击的真正原因仍然是可用内存量,而不是其他因素吗?

#1 楼

原始文章正确地忽略了DES计算的成本(少于$ 2 ^ {90} $)以及除对表1和表2的内存访问之外的所有内容。我进一步走了一步:考虑到表1仅初始化一次,然后是只读的,它可能位于ROM中,而忽略了对表2的访问,所有其他操作都被忽略了。攻击需要预期的$ 2 ^ {88} $随机写入和对表2的多次随机读取,组织为$ 2 ^ {25 } \ cdot 24 $位的单词。每个$ 2 ^ {28} \ cdot 8 $位,每个芯片的成本约为\ $ 1。存在更大的芯片:我的全新32 GB服务器使用64个芯片,每个芯片$ 2 ^ {29} \ cdot 8 $位,并且它们变得越来越普遍(尽管每比特价格仍高于主流的$ 2 ^ {28} \ cdot 8 $位芯片)。

两个主流的$ 2 ^ {28} \ cdot 8 $位芯片持有一个表2实例,一个124位字可以连续8个被访问两个芯片中的每个芯片同时具有8位位置(连续访问的速度比随机访问快15倍)。一块$ 2 ^ {29} \ cdot 8 $位的芯片会稍微慢一些。访问至少需要$(7 \ cdot 2 + 7)/ 1066 \大约0.020 $ µs(分别是$(9 \ cdot 2 + 7)/ 1333 \大约0.019 $ µs)。这比原始文章中所考虑的小十进制数量级。对于表2的每个实例(即0.5 GB),我们每年使用主流DRAM最多可以对表2执行$ 365 \ cdot 86400 \ cdot 10 ^ 6 / 0.019 / 2 \约2 ^ {49.6} $美元的读写访问。因此,使用$ n $ GByte的主流DRAM,除非我在某处出错,否则预期的持续时间为$ 2 ^ {37.4} / n $年。

根据认真引用的新闻稿,大约有不到$ 2 ^ {31} $台PC,假设我的廉价PC可以代表,那就是$ 2 ^ {33} $ GB。另一种方法是,每个0.25 GB的芯片成本约为1美元。 2011年的DRAM收入不到$ 2 ^ {35} $,因此足以容纳$ 2 ^ {33} $ GB(但请注意,大部分收入来自未针对每位成本进行优化的芯片)。我想估计,为了进行攻击,有史以来构建的所有RAM最多相当于$ 2 ^ {35} $ GB主流DRAM。 :原始文章中的攻击已更新为最大可能地使用人类有史以来制造的所有RAM芯片,直到2012年中为止,预期持续时间至少为5年;或等效地在一年内成功的机率最高为20%。 $ n $(假设$ n $不会太小),因为随着$ n $的增加,攻击所需的
操作数($ 2 ^ {120- \ log_2 n} $)减少,但是内存需求增加,并且可以用固定金额制造的机器数量减少”。同样,如果我们获得更多已知的纯文本/密文对,则所需的RAM量不会有太大变化。