密码学 - AES和DES S-box

时间:2013-09-04 06:05:23

标签: cryptography aes des

我正在为大学进行一些密码学修订练习(准备考试),这个问题让我感到困惑:

大多数分组密码实现将S-box视为查找表。 DES使用8个S盒,每个S盒接收6位并输出4位。 AES仅使用 一个S-box,它接收8位并输出8位。 需要多少存储空间 在每种情况下?

我......不知道?我不确定这问题究竟是什么。我觉得我可能会错过一些关于存储和盒子的概念吗?

如果有人能够对此有所了解,那就太好了! 感谢。

1 个答案:

答案 0 :(得分:3)

似乎有点奇怪的问题,但这就是我认为我会接近它的方式:

如果实现为查找表,它基本上只是一个数组,其中“查找”只是索引到数组中。

因此,数组元素的数量必须对应于输入可以采用的不同值的数量,例如,如果S-box输入为8位,那么有2个 8 = 256个可能的输入值。

数组元素的大小本身对应于输出位的数量。现在,我们通常不能定义具有小于8位(1字节)的元素的数组,但是我们假设可以对输出进行编码,这样我们就可以构造一个没有“浪费”空间的数组(如下所示)如果我们必须存储say,8位数组元素中的4位值。

考虑到这一点,我们应该能够按如下方式计算存储空间:

Storage (in bytes) = Number of S-boxes x 2Number of input bits x (Number of output bits / 8)

所以:

DES = 8 x 26 x (4 / 8) = 256 bytes
AES = 1 x 28 x (8 / 8) = 256 bytes