置换是数据的重新排列,
而代替是用一个单元数据替换
另一个。
AES
使用了几种不同的技术来实现置换和替换。
为了阐明这些技术,
我们讨论一个
具体的
AES
加密例子。下面是你要加密的
128
位值以及它们对应的索引数组:
00 11 22 33 44 55 66 77 88 99 aa bb cc dd ee ff 0 1 2 3 4 5 6 7 8 9
10 11 12 13 14 15
192
位密钥的值是:
00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16
17 0 1 2 3 4 5 6 7 8 9 10 1112 13 14 15 16 17 18 19 20 21 22 23
Figure 2 S-
盒(
Sbox
)
当
AES
的构造函数(
constructor
)
被调用时,
用于加密方法的两个表被初始化。第一
个表是代替盒称为
S-
盒。它是一个
16
×
16
的矩阵。
S-
盒的前五行和前五列如
Figure
2
所
示。在幕后,加密例程获取该密钥数组并用它来生成一个名为
w[]
的密钥调度表,
Figure
3
所示。
Figure 3
密钥调度表(
Key Sched
)