首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >2 DES和3 DES针对DES构建提供免费

2 DES和3 DES针对DES构建提供免费
EN

Cryptography用户
提问于 2019-11-24 18:04:58
回答 1查看 182关注 0票数 0

我看到了这个复杂的问题,我对此不太确定,希望你能对此发表意见。

下面的构建是否比2 DES或3 DES强,有两个不同的键(甚至是普通的DES)?

DES(DES(x,k),\overline{k})

我认为对于2^{56}密钥空间,我们需要执行以下操作:

  • 常规DES:我们需要调度密钥k,然后测试E(k,m),k'
  • 对于具有两个不同键的2 2DES/3 2DES:不确定,但我认为在这种情况下,我们需要调度k_1 = kk_2 = \overline{k}。我希望看到如何正确地决定它是否比那些(2 3DES,3 3DES都有两个不同的键)更强大的构建。

为了简单起见,假设对手有少量已知的明文:密文对。

EN

回答 1

Cryptography用户

回答已采纳

发布于 2019-11-26 17:27:38

下面的构建是否比2 DES或3 DES强,有两个不同的键(甚至是普通的DES)?DES(DES(x,k),\overline{k})

它只比DES稍强,比2 DES或3 DES更容易攻击。

对DES最实际的攻击是蛮力;只要尝试各种可能的键,直到您发现正确的键。对于已知的明文/密文对,这需要一个预期的2^{55} DES计算。

对你的设计,因为关键仍然只有56位,这种蛮力方法仍然是实用的。在您的例子中,这需要一个预期的2^{56} DES评估。

我们通常不知道攻击者的能力达到如此高的精度,工作工作量增加2的因素远低于我们的不确定性(因此实际上是相同的)。

相反,可以用相同的近似工作来攻击2 2DES;但是,需要大量内存的算法更难并行化(因此,在实践中,更难并行)。

此外,如果您认为您的设计强制每个DES键测试的两个DES密钥时间表,那么事实证明并非如此。由于DES的关键互补特性,我们有:

DES(DES(x,k),\overline{k}) = \overline{ DES( \overline{ DES(x, k) }, k)}

因此,可以通过在同一键上执行两个DES评估和中间互补来测试密钥。

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

https://crypto.stackexchange.com/questions/75984

复制
相关文章

相似问题

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