Advanced Encryption Standard (AES)
Compiled By: Surya Bam
Why Was the AES Encryption Algorithm necessary?
• When the Data Encryption Standard algorithm, also known as the DES
algorithm, was formed and standardized, it made sense for that
generation of computers.
• Going by today’s computational standards, breaking into the DES
algorithm became easier and faster with every year, as seen in the
image below.
Compiled By: Surya Bam
Advance Encryption Standard (AES)
• The Advance Encryption Standard (AES), was published by NIST
(National Institute of Standards and Technology) in 2001.
• It is a 128 block cipher and widely used for both government and
commercial purposes.
• The Rijndael proposal for AES defined a cipher in which the block
length and the key length can be independently specified to be 128,
192 or 256 bits.
• The AES specification uses the same three key size alternatives but
limits the block length to 128 bits.
Compiled By: Surya Bam
The AES Cipher - Rijndael
• Rijndael was selected as the AES in Oct-2000
• Designed by Vincent Rijmen and Joan Daemen in Belgium
• Issued as FIPS PUB 197 standard in Nov-2001
• An iterative rather than Feistel cipher
• processes data as block of 4 columns of 4 bytes (128 bits) V. Rijmen
• operates on entire data block in every round
• Rijndael design:
• simplicity
• has 128/192/256 bit keys, 128 bits data
• resistant against known attacks
• speed and code compactness on many CPUs J. Daemen
Compiled By: Surya Bam
AES Parameters
Compiled By: Surya Bam
AES Conceptual Scheme
Plaintext (128 bits)
AES Key (128-256 bits)
Ciphertext (128 bits)
Compiled By: Surya Bam
Multiple rounds
• Rounds are (almost) identical
• First and last round are a little different
Compiled By: Surya Bam
High Level Description
• Round keys are derived from the cipher key
Key Expansion using Rijndael's key schedule
• AddRoundKey : Each byte of the state is combined
Initial Round with the round key using bitwise xor
• SubBytes : non-linear substitution step
• ShiftRows : transposition step
Rounds • MixColumns : mixing operation of each column.
• AddRoundKey
• SubBytes
Final Round • ShiftRows No MixColumns
• AddRoundKey
Compiled By: Surya Bam
Overall Structure
Compiled By: Surya Bam
Compiled By: Surya Bam
Compiled By: Surya Bam
AES
Compiled By: Surya Bam
Compiled By: Surya Bam
Substitution Byte
Compiled By: Surya Bam
Compiled By: Surya Bam
Shift Rows Another example
Compiled By: Surya Bam
Mix Columns
Compiled By: Surya Bam
Mix Columns
Compiled By: Surya Bam
Mix Columns
Compiled By: Surya Bam
Mix Columns
Compiled By: Surya Bam
Mix Columns
Compiled By: Surya Bam
Mix Columns
Compiled By: Surya Bam
Add Round Key
Compiled By: Surya Bam
AES Decryption
Compiled By: Surya Bam
Decryption Round
Compiled By: Surya Bam
Substitution Bytes
Compiled By: Surya Bam
Shift Rows
Compiled By: Surya Bam
Mix Columns
Compiled By: Surya Bam
Compiled By: Surya Bam