You are on page 1of 11

St.

Mary’s
University
Computer Science
Department
Computer And Network Security:
Assignment on Advanced Encryption
Standard (AES)

Student Name: Tewodros Mamo


Id: RCD/1134/2012
History of The Development of
AES
• NIST set up a contest where anyone worldwide could
participate. The contest required the ciphers to meet various
requirements, unlike DES, and the whole design had to be fully
documented. Several years of cryptographic conferences
scrutinized the candidate algorithms, and 15 were accepted in
the first round, which was narrowed down to five in the second
round. The 15 algorithms are shown in Table 7, with the five
selected in bold. The algorithms were tested for both efficiency
and security by renowned cryptographers and NIST. NIST
eventually selected an algorithm called Rijndael, which was
named after two Belgian cryptographers, Dr. Joan Daemen and
Dr. Vincent Rijmen. AES, a standardized version of Rijndael, was
introduced on November 26, 2001.
What Is AES
• AES is a symmetric block cipher that uses the same key for
both encryption and decryption. However, AES differs
from DES in several ways. Rijndael algorithm offers various
block and key sizes, not just the 64 and 56 bits of DES. In
fact, the block and key can be chosen independently from
128, 160, 192, 224, or 256 bits, and do not have to be the
same.
• However, the AES standard states that the algorithm can
only accept a blocksize of 128 bits and a choice of three
keys - 128, 192, 256 bits.Depending on which version is
used,
The AES cipher
• AES, like DES, is a symmetric block cipher, which means that it
employs the same key for both encryption and decryption. However,
AES differs from DES in several ways. Unlike DES, the Rijndael
algorithm provides for various block and key sizes, not just the 64
and 56 bits of DES. The block and key sizes can be chosen
independently from 128, 160, 192, 224, and 256 bits, and they need
not be the same.
• Depending on the version used, the standard's name is altered to
AES-128, AES-192, or AES-256, respectively. Additionally, AES differs
from DES in that it is not a feistel structure. In a feistel structure, half
of the data block modifies the other half of the data block, and then
the halves are swapped. Instead, the entire data block is processed
in parallel during each round using substitutions and permutations.
Rijndael was designed to have the following characteristics:
• Resistance against all known attacks.
• Speed and code compactness on a wide range of platforms.
• Design Simplicity
Inner Workings of a Round
• The algorithm starts with an initial stage of adding a round key, which is
then followed by 9 rounds consisting of four stages each. In the case of
decryption, the same stages are used as in encryption, except for the fact
that the inverse of each stage is applied in each round. The final round of
decryption consists of three stages.The four stages are as follows:
1. Substitute bytes
2. Shift rows
3. Mix Columns
4. Add Round Key
• The tenth round simply leaves out the Mix Columns stage. The first nine
rounds of the decryption algorithm consist of the following:
1. Inverse Shift rows
2. Inverse Substitute bytes
3. Inverse Add Round Key
4. Inverse Mix Columns
Inner Workings of a Round cont’d.
Substitute Bytes
• In the SubBytes stage of the encryption process, an s-box is
used as a 16x16 matrix of byte values for table lookup. The
s-box matrix consists of all the possible combinations of an 8
bit sequence, which equals to 256. However, the s-box is not
a random permutation of these values, and there is a
defined method for creating the s-box tables,
• unlike in DES. The Rijndael designers showed how this was
done. We don't need to worry about how the s-boxes are
created and can assume them as table lookups. The matrix
that is being operated on throughout the encryption is
called the state, and we will be focusing on how this matrix
is affected in each round.
Substitute Bytes cont’d
Shift Row Transformation
This stage a simple permutationan nothing more. It works as
follow:
• The first row of state is not altered.
• The second row is shifted 1 bytes to the left in a circular manner.
• The third row is shifted 2 bytes to the left in a circular manner.
• The fourth row is shifted 3 bytes to the left in a circular manner.
Mix Column Transformation
• The MixColumn stage involves the substitution of values using
arithmetic operations in GF(28). The transformation is applied
individually to each column, where every byte is replaced with a new
value that depends on all four bytes in the same column. The process
can be represented by a matrix multiplication on state.
Add Round Key Transformation
• During the AddRoundKey stage of the process, the 128 bits of the
state undergo a bitwise XOR operation with the 128 bits of the round
key. This operation is performed column by column between the 4
bytes of a state column and one word of the round key. While this
transformation is simple for the sake of efficiency, it impacts every bit
of the state.

You might also like