Block and state
- AES encrypts a 128-bit block.
- The block is arranged as 16 bytes in a 4 by 4 state matrix.
- All key sizes use the same 128-bit block size.
Trace a 128-bit AES block through real round operations and learner-friendly visual checkpoints
Follow one 128-bit block as AES repeatedly substitutes bytes, shifts rows, mixes columns, and XORs round keys. The byte values are computed with the real AES operations for the selected test vector, while the interface slows the process down for inspection.
One 16-byte block is shown as the AES 4 by 4 state matrix. Current checkpoint: initial AddRoundKey.
--
--
------The visualization computes the AES S-box, row shifts, MixColumns finite-field math, XOR round keys, and key expansion for AES-128, AES-192, and AES-256.
This page is for learning the sequence and data movement. It is not constant-time code, does not implement modes such as GCM or CBC, and must not be used for production cryptography.
AES protects confidentiality only when used with an appropriate mode, nonce or IV handling, authentication, key management, and side-channel protections.
Embedded devices often rely on hardware AES engines because software implementations can leak timing or power information and can be too slow for constrained nodes.
Select SubBytes and note that a byte value changes without moving position. Then select ShiftRows and watch positions move without changing byte values.
Step to MixColumns. Which columns change together, and why does this make one byte influence multiple later bytes?
Switch between AES-128, AES-192, and AES-256. What changes in the number of checkpoints, and what stays the same about the block and state?
Jump to the last round. Confirm that MixColumns is disabled, then describe which operation creates the final ciphertext.