Cryptography Reference
In-Depth Information
Each entry in the State refers to a byte
s
r,c
or
s
[
r, c
] (where 0
≤
r<
4 refers
to the row number and 0
c<
4 refers to the column number). Note that the
four bytes
s
r,
0
,s
r,
1
,s
r,
2
,and
s
r,
3
(
s
0
,c
,s
1
,c
,s
2
,c
,and
s
3
,c
)inrow
r
(column
c
)of
the State form a 32-bit word. Consequently, the State can also be viewed as a one-
dimensional array of four 32-bit words (be it rows or columns).
≤
@
3
4
7
5
8
1
2
3
4
1
5
6
+
+
+3
+1
+
+
+3
+1
3+
3+
3+3
3+1
1+
1+
1+1
1+3
E
3
4
7
5
1
8
4
3
2
1
6
5
Figure 10.6
Input bytes, State array, and output bytes of the AES.
As illustrated in Figure 10.6, the 16 input bytes
in
0
,...,in
15
are copied
into the State at the beginning of the AES encryption or decryption process. The
encryption or decryption process is then conducted on the State, and the State's final
bytes are copied back to the output bytes
out
0
,...,out
15
. More formally speaking,
the input array
in
is copied into the State according to
s
r,c
=
in
r
+4
c
for 0
c<
4 at the beginning of the encryption (or decryption)
process. Similarly, the State is copied back into the output array
out
according to
≤
r<
4 and 0
≤