Cryptography Reference
In-Depth Information
Fig. 6.1
Input, state and output arrays
Fig. 6.2
AES algorithm
The basic unit for processing in the AES algorithm is a byte. Input, output and
secret key bit sequences are internally processed on a two-dimensional array of
bytes called the State. The State consists of four rows of four bytes. In the State
array, denoted by the symbol s , each individual byte has two indices, with its row
number r in the range 0
3.
The AES algorithm is based on permutations and substitutions. Permutations are
rearrangements of data, while substitutions replace one byte of data with another.
AES performs permutations and substitutions using four functions, as explained later.
At the beginning of the encryption, the input is copied to the State array using the
conventions described in Fig. 6.1 . After an initial XOR operation between the State
array and the cipher key, the State array is transformed by implementing a round
function that is repeated ten times, with the final round differing slightly from the
first nine rounds. The final State is then copied to the output as shown in Fig. 6.1 .The
round function is composed of four operations: SubBytes, ShiftRows, MixColumns,
and AddRoundKey. These functions operate and modify the value of the State. As
shown in Fig. 6.2 , all rounds are identical with the exception of the final round, which
does not include the MixColumns transformation.
The SubBytes transformation is a nonlinear byte substitution that operates inde-
pendently on each byte of the State using a substitution table (S-Box). The S-Box
r
3 and its column number c in the range 0
c
Search WWH ::




Custom Search