5.3 AES Decryption

The process is very similar to the encryption process, except the order of the steps has changed. All steps except “Add Round Key” have their corresponding inverses. “Inverse Shift Rows” cycles the rows right instead of left. “Inverse Substitute Bytes” uses inverse S-boxes.

“Inverse Mix Columns” also uses an inverse transformation. Refer to the AES specification for the corresponding matrix and to the source code for implementation details. The flowchart for the decryption process is shown as follows.

Figure 5-8. Decryption Flowchart
Note: The key schedule used for decryption is the same as for encryption but in reverse order.