Rijndael
Cipher
Rijndael Encryptor
Plaintext
01010100
01010100
Ciphertext
Cipher key
01010100
Input
State
to Encryption Process
A
Cipher Key
to Key Schedule
B
A
Encryption Process
(Performing the encryption of the given plaintext block using 4 different transformations in the initial round, the 9 main rounds and the final round)
Encryption Process
AddRoundKey
1-SubBytes
2-ShiftRows
3-MixColumns
4-AddRoundKey
SubBytes
ShiftRows
AddRoundKey
Round
0
initialRound
9 main round
finalRound
The 4 types of transformation
1-SubBytes
2-ShiftRows
3-MixColumns
4-AddRoundKey
1 - SubBytes
2 - Shift Rows
rotate over 1 byte
rotate over 2 bytes
rotate over 3 bytes
3 - MixColumns
=
4 - AddRoundKey
+
=
Start of round
After SubBytes
After ShiftRows
After MixColumns
Round key
These transformations are applied to the State for 9 more rounds. The final round does not include the MixColumns transformation.
Start of round
After SubBytes
After ShiftRows
After MixColumns
Round key
Ciphertext
Output
B
Key Schedule
(Expansion of the given Cipher key into 11 partial keys, used in the initial round, the 9 main rounds and the findal round)
Key Schedule
...
=

AES-Rijndael-Animation

Restart animation
View encryption process again
Restart animation
View key schedule again

Rijndael Animation Data

Updating changes the animation. Try it out!

Test

Settings

info
navigation
form