Cryptography Reference
In-Depth Information
where the a i,c entries on the right are the old column entries, the b i,c entries on the left are new column entries,
and the operator means to perform matrix multiplication with the • operator and XOR instead of addition. We
can specify this less abstractly as
This operation will be performed for each column, that is, for c = 1, 2, 3, and 4.
The MixColumns operation is shown graphically in Figure 4-13 .
Figure 4-13 The Rijndael MixColumns operation.
4.9.1.4 AddRoundKey
Finally, the AddRoundKey operation takes each 8-bit value of the state and XORs it with an 8-bit value of the
key schedule, as shown in Figure 4-14 .
Figure 4-14 The Rijndael AddRoundKey operation.
4.9.2 Rijndael Decryption Algorithm
Decryption of Rijndael is very similar to encryption: It simply involves doing the operations in reverse (with
a reverse key schedule) and using inverse operations for SubBytes, MixColumns, and ShiftRows —these opera-
tions are called, surprisingly enough, InvSubBytes, InvMixColumns, and InvShiftRows, respectively.
The use of these inverse functions leads to the following algorithm for decryption:
Rijndael Decryption Algorithm
Assume that there are r rounds ( r is dependent on the key size) and that the ciphertext is loaded into the state.
1. Run AddRoundKey on the state.
 
 
 
 
Search WWH ::




Custom Search