I was trying to understand the internal structure of AES (Advanced Encryption Standard)
Standard order of steps within a round:
- Substitute Bytes
- Shift Rows
- Mix Columns
- Add Round Key
Substitute Bytes, Shift Rows & Mix Columns satisfies the two most important properties required for a secure cipher i.e confusion and diffusion
Substitute Bytes provides
Confusion i.e. that each binary digit (bit) of the ciphertext should depend on several parts of the key.
Shift Rows along with
Mix Column provides
Diffusion i.e. if we change a single bit of the plaintext, then (statistically) half of the bits in the ciphertext should change
Changing order of
Step 1 and
Step 2 won't have any affect. But to what extent can we change the order of other steps? Does it weaken the security of
AES, and if so, how?