File 08. PMIT-6204 - Cryptography & Steganography - Advanced Encryption Standard (AES)
File 08. PMIT-6204 - Cryptography & Steganography - Advanced Encryption Standard (AES)
11.5 IIT, JU
Features of AES:
11.6 IIT, JU
Criteria Defined by NIST for AES:
The criteria defined by NIST for selecting AES fall into three areas:
1. Security:
The main emphasis was on security. Because NIST explicitly demanded a
128-bit key, this criterion focused on resistance to cryptanalysis attacks
other than brute-force attack.
3. Implementation:
The third criterion was implementation. This criterion included the
requirement that the algorithm must have flexibility (be implementable on
any platform) and simplicity. It also required that AES be an open
algorithm, available to the public worldwide.
At the end, Rijndael was judged the best at meeting the combination
of these criteria.
11.7 IIT, JU
Parameters for Three Versions of AES:
11.8 IIT, JU
11.9
Common Parameters about AES:
IIT, JU
Let us know how data is being stored during the process of AES
encryption.
The plaintext block to be encrypted is just a sequence of 128 bits.
AES works with byte quantities. So at first, we convert the 128 bits
11.10 IIT, JU
Manner of Storing Input Data: Block-to-State Conversion
Example:
Let us see how a 16-character block can be shown as a 4 x 4 matrix.
Assume that the text block is “AES uses a matrix”.
We add two bogus characters at the end to get “AESUSESAMATRIXZZ”.
Now we replace each character with a decimal integer between 00 and 25.
11.11
Figure: Changing plaintext to state IIT, JU
Steps in AES Encryption Process
The AES encryption process uses a set of specially derived keys called
round keys. Along with other operations, these round keys are applied on an
array of data that holds exactly one block of data that is to be encrypted.
The steps in the encryption of AES 128-bit block are listed
below:
11.12 IIT, JU
Simplified Block Diagram of AES
IIT, JU
54 = 01010100 77 = 01110111
54 = 01010100 68 = 01101000
11.15 00 = 00000000 1F = 00011111 IIT, JU
Round Operations in AES
In the final round (10th round), following three operations are required to
perform
1. SubBytes
2. ShiftRows
3. XorRoundKey
11.16 IIT, JU
1. SubBytes Operations
11.17 IIT, JU
2. ShiftRows Operation
11.18
State Matrix after ShiftRows Operation IIT, JU
3. MixColumn Operation:
11.21 IIT, JU
Key Schedule Algorithm in AES-128:
After rotation
5. State:
AES uses several rounds in which each round is made of several stages.
Data block is transformed from one stage to another.
At the beginning and end of the cipher, AES uses the term data block; before and
after each stage, the data block is referred to as a state.
11.31 IIT, JU
Data Units in AES:
Among the five units of measurement of data in AES, bit is the atomic unit and the
remaining units are called non-atomic which are shown in the figure below.
11.34 IIT, JU
Transformations in AES:
1) Substitution:
AES, like DES, uses substitution. However, the mechanism is
different.
First, the substitution is done for each byte.
Second, only one table is used for transformation of every byte, which
11.35 IIT, JU
Transformations in AES:
2) Permutation:
The second transformation in a round is shifting, which permutes the bytes.
Unlike DES, in which permutation is done at the bit level, shifting
transformation in AES is done at the byte level; the order of the bits in the
byte is not changed.
3) Mixing:
The mixing transformation changes the contents of each byte by
taking four bytes at a time and combining them to recreate four new
bytes.
AES defines two mixing transformations, MixColumns and
11.37 IIT, JU
Transformations in AES:
4) Key-adding:
The transformation that performs whitening is called AddRoundKey.
The previous state is added (matrix addition) with the round matrix
key to create the new state.
Addition of individual elements in the two matrices is done in GF(2 8)
11.39 IIT, JU
Key Expansion in AES-128:
Let us show the creation of words for the AES-128 version; the processes for
the other two versions are the same with some slight changes.
Figure below shows how 44 words are made from the original key.
SubWord:
The SubWord (substitute word) routine is similar to the SubBytes
transformation, but it is applied only to four bytes. The routine takes each
byte in the word and substitutes another byte for it.
11.41 IIT, JU
Discussion Points
Slide-42 IIT, JU
Slide-43
Thank you…
Have a question?
IIT, JU