我已经通过了DES,我发现大多数块只是简单地重新调整输入,这可以被称为“交叉布线”。这包括IP,IP-1,PC-1,PC-2,甚至扩展(虽然这似乎比其他的更有用)。
为什么DES要这么做?是因为某个原因,还是只是为了好玩?
发布于 2016-01-03 07:00:46
在每一轮中,DES都有一个用于扩散的排列,对于安全性至关重要。但是,您正确地指出,输入/输出块和键上的初始和最终排列对安全性没有任何影响。在形式上,不难证明,如果您对DES进行了攻击,而没有这些初始和最终的排列,那么当您有了这些排列时,攻击也是有效的。
那么DES为什么要这么做?我们只能猜测。然而,密码界的假设是,排列在硬件上非常快,在软件上非常慢。(事实上,在软件中,很大一部分加密时间用于这些排列。在硬件方面,这只是移动电线的问题,所以几乎没有成本。)因此,相对于在硬件上所能做的,这减缓了软件中的蛮力搜索。
为什么要这么做?我的猜测是,这给一些拥有资源来构建特殊用途硬件的大型组织带来了优势。其中一个组织在确保DES安全方面发挥了重要作用(帮助设计S盒子)。然而,他们也努力使密钥56位长,而不是64位长。我猜想,通过使软件实现缓慢,他们认为这可以足够安全(因为世界上大多数人只拥有软件),同时允许他们进行蛮力搜索。
当然,我们可以采用一个不那么令人兴奋的理论,即这是一个额外的安全级别,以减缓未来的暴力搜索。但是,我并不真正相信,因为如果这是当时的问题,那么一个更大的关键将是正确的解决方案。
https://crypto.stackexchange.com/questions/31640
复制相似问题