2. What is AES?
AES (Advanced Encryption Standards) is one of the most widely used methods for
encrypting and decrypting sensitive information in 2017.This encryption method uses
what is known as a block cipher algorithm to ensure that data can be stored securely.
The more popular and widely adopted symmetric encryption algorithm likely to be
encountered nowadays is the Advanced Encryption Standard (AES). It is found at least
six time faster than triple DES.
The AES Includes:
Symmetric key symmetric block cipher
128-bit data, 128/192/256-bit keys
Stronger and faster than Triple-DES
Provide full specification and design details
Software implementable in C and Java.
3. Working of AES
AES is an iterative rather than Feistel cipher. It is based on ‘substitution–permutation
network’. It comprises of a series of linked operations, some of which involve replacing
inputs by specific outputs (substitutions) and others involve shuffling bits around
(permutations).
Interestingly, AES performs all its computations on bytes rather than bits. Hence, AES
treats the 128 bits of a plaintext block as 16 bytes. These 16 bytes are arranged in four
columns and four rows for processing as a matrix −
Unlike DES, the number of rounds in AES is variable and depends on the length of the
key. AES uses 10 rounds for 128-bit keys, 12 rounds for 192-bit keys and 14 rounds for
256-bit keys. Each of these rounds uses a different 128-bit round key, which is calculated
from the original AES key.
4. Encryption with AES
The encryption phase of AES can be broken into three phases: the initial round, the main
rounds, and the final round. All of the phases use the same sub-operations in different
combinations as follows:
Initial Round
AddRoundKey
Main Rounds
SubBytes
ShiftRows
MixColumns
AddRoundKey
Final Round
SubBytes
ShiftRows
AddRoundKey
The main rounds of AES are repeated a set number of times for each variant of AES.
AES-128 uses 9 iterations of the main round, AES-192 uses 11, and AES-256 uses 13.
5. Decryption in AES
To decrypt an AES-encrypted ciphertext, it is necessary to undo each stage of the
encryption operation in the reverse order in which they were applied. The three stage of
decryption are as follows:
Inverse Final Round
AddRoundKey
ShiftRows
SubBytes
Inverse Main Round
AddRoundKey
MixColumns
ShiftRows
SubBytes
Inverse Initial Round
AddRoundKey
Of the four operations in AES encryption, only the AddRoundKey operation is its own
inverse (since it is an exclusive-or). To undo AddRoundKey, it is only necessary to
expand the entire AES key schedule (identically to encryption) and then use the
appropriate key in the exclusive-or.
The other three operations require an inverse operation to be defined and used. The first
operation to be undone is ShiftRows. The Inverse ShiftRows operation is identical to the
ShiftRows operation except that rotations are made to the right instead of to the left.
6. AES Versions:
There are three variants of AES based on different key sizes (128, 192, and 256 bits).
Above we described the 128-bit version of the AES key schedule.
All three variants of AES use a 128-bit block size, only the key sizes differ. The overall
structure of the encryption stage of AES is identical for all three variants, but the number
of rounds varies for the 128, 192, and 256-bit variants (10, 12, and 14 rounds
respectively). The key schedule is different for each variant.
AES-128 (128 bits) – 10 rounds
AES-192 (192 bits) – 12 rounds
AES-256 (256 bits) – 14 rounds
In all variants AES-256 is secure and fast and best for encryption.
How AES-256 works:
AES is a symmetric key cipher. This means the same secret key is used for both
encryption and decryption, and both the sender and receiver of the data need a copy of
the key. By contrast, asymmetric key systems use a different key for each of the two
processes. Asymmetric keys are best for external file transfers, whereas symmetric keys
are better suited to internal encryption. The advantage of symmetric systems like AES is
their speed. Because a symmetric key algorithm requires less computational power than
an asymmetric one, it’s faster and more efficient to run.
***************