The Advance Encryption Standard Aes And Rijndael Algorithm Computer Science Essay

Published: Last Edited:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

There always has been a demand for the development of the processes and methods for ensuring the secure transportation of data. Cryptography is around for a long time as a solution for the protection of information. Earliest known use is some carved coded words on stones in Egypt. Modern cryptography is the branch of science (Mathematics, Engineering and computer sciences) dealing with the issue of hiding information. Encryption is a cryptographic technique of transforming information in incomprehensible form so that the information is unreadable by anyone except those possessing the special knowledge which is commonly achieved by using algorithms known as ciphers. Ciphers define the series of well known steps for performing encryption or decryption, i.e. the reverse process of encryption. Block ciphers & stream ciphers are two main classes of ciphers in use. The Advance Encryption Standard (AES) is a symmetric key algorithm which commonly processes the data in blocks of 128 bits. It is defined in Federal Information Processing Standard (FIPS), 192 published in November, 2001 as a United States Encryption Standard [1]. It is based on well known mathematical grounds and resists all known attacks very well. Quite a time has passed since the arrival of AES and a lot of information and economic value is already saved by it, so there is strong indication that no known weakness exists in it since. Different Standards of AES are available like AES-128, AES-192, AES-256 where the associated integer is indicating the length of data bits of the key. (BRUTE FORCE ATTACK).The AES is the most commonly employed algorithm for information encryption today [1].


The Data Encryption Standard (DES) was adopted in 1977 by then national bureau of standards now called NIST for use by the US government and commercial use [2]. The data encryption standard was an aging algorithm in late 1990’s and it was widely criticized for its short key. The DES used a 56 bit key for encryption. DES served very well in the period in which it was in use but by the evolution of high speed personal computers the security aspect of DES was challenged multiple times. The most famous and important attack was done using one hundred thousand pc’s and a server that cost two hundred and fifty thousand dollars. This system designed by Electronic Frontier Foundation was able to decrypt the message that was encrypted using DES in twenty two hours.

This was a remarkable achievement considering the number of possible combinations of the DES(data encryption standard) key were 72x10e16 but this also proved to be the last nail in the coffin of DES as a standard encryption algorithm for the US government.

An improved version of the DES algorithm called the triple DES is still widely used in many commercial applications.

The advanced encryption standard which is based on Rijindael algorithm has no such issues. It has three key sizes that are 128 bit, 192 bits, and 256 bits so it has a considerably large key size and is very hard to decrypt using a brut force attack. The numbers of possible combinations of the AES key are very large for any kind of brut force attack. The national institute of standards and technology in its Jan 2010 publication of has allowed the two key triple DES to be used only through 2010 whereas AES can be used beyond 2010[4].


In 1997 a call was put on by the US National Institute for Standards and Technology for the candidates to replace the old Data Encryption Standard, DES.NIST announced that the candidate algorithms for AES should support key sizes up to 256bits and that the proposed algorithm should be as secure as triple DES but much more efficient in terms of implementation. The proposed algorithms were to be evaluated on three criterions.



Algorithm implementation characteristics

There were five major algorithms under consideration to become AES. The first one of them was CAST-256 it was rejected due to higher implementation costs. CRYPTON was another promising contender but it had a lower security margin. The DFC algorithm was rejected due to its poor performance on processors lower then 64 bit. SAFER + was rejected due to its low speed [1]. The last and most promising contender was rijndael’s algorithm which was faster more secure and cheaper to implement then any of the above mentioned algorithms.

Encryption using AES

AES is a several round symmetric key block cipher. The term block refers to the fact that the AES algorithm can be applied on a single bloc of data at a time the standard data block size for AES is 128 bits. The term round refers to the fact that data is encrypted ten to fourteen times over using the same algorithm. AES has three key sizes 128 bit, 192 bit, 256 bit as AEs is a symmetric encryption algorithm it uses the same key for encryption and decryption so the key is always kept secret.

The data is represented in a 4x4 matrix before performing four important steps for encryption. The four major steps are:

Byte substitution

Sift rows

Mix columns

Add round key

In byte substitution a 16x16 permutation matrix is used and every byte is replaced by the entry in the permutation matrix with index corresponding to the value f the byte for example

Suppose a byte in the data matrix has a value 0x42 it will be replaced by the entry in the fourth row and 2nd column.

In shift row operation a simple circular shift is done in rows. First row remains unchanged, 2nd row does one byte cyclic shift to left. 3rd row does two byte cyclic shift to left. The 4th row does three byte cyclic shift to left.

In the mix column step all columns are processed separately each entry is replaced by a value which is dependant upon all the values in the column.

In the Add round key step an exclusive or operation is performed between the data matrix and the 128 bit key.

As discussed earlier nine rounds of the above mentioned procedure are performed in the tenth and final round the mix column step is not performed. The round key is updated at each step and is added to the data at that step.

Flow Chart

Data Matrix

Add Block Key

(Nine times)

Byte Substitution

Row Shifting

Column Mixing

Byte Substitution

Row Shifting

Encrypted Data

Add Block Key

Advantages of AES

AES has many advantages over DES its predecessor the main advantage of AES is its key. The data encryption standard or DES had a week point that was its key it had a 56 bit key[5] which allowed with the advancement of high speed personal computers a brut force attack to be successful on that algorithm. To counter this problem triple DES was introduced but its implementation was very slow. So naturally when the U.S national institute of standards and technology announced the competition about AES on of the mandatory quality for the researchers and organizations taking part was that their algorithms should be compatible with key sizes of 128, 192 and 256 bits.

AES is extremely efficient in terms of implementation it can very easily be implemented on a 8-bit microcontroller which makes it very useful in embedded applications.

When the competition was being held it was mandatory for every participating researcher or organization to sign a document according to which the winning researcher or company will not claim intellectual property rights for their algorithm so AES is free for any one to use and implement.

Disadvantages of AES

There are no major disadvantages of using AES but AES is prone to some attacking strategies such as side channel attacks.

Side channel attacks

Side channel attacks are attacks based on side channel information. Side channel information can be categorized as any information gathered from the encryption device other then plain text or cipher text for example clock, voltage and other outputs. Side channel attacks use this information with other techniques to guess the key on which the system is working.

Side channel attacks are very important as they can be mounted quickly and cheaply and also this type of attack bypasses the inherent security of the algorithm.

There are many types of side channel attacks such as

Time attack

Power monitoring attack

Radiation monitoring attack

Acoustic cryptanalysis

Fault analysis

The above mentioned side channel attacks are known to have successfully guessed the key of AES encryption system. A special type of timing attack called the cache attack is specially successful in this regard in 2005 three Israeli researchers published a research paper showing that by using cache attack(under special circumstances) the AES key can be guessed in as low as 800 instructions or 65ms[7].

There are many methods that can be employed to protect against side channel attacks such as hiding the timing and disabling cache sharing[7].

Quantum computers

Quantum computing is an emerging concept which promises computers with extremely high computational capabilities. These computers (theoretically) work by the laws of quantum mechanics [8]. If these theoretical computers are developed to a practical form them all the encryption algorithms including AES will become extremely vulnerable to brut force attack due to the superior computational power promised by this technology. Public key algorithms are more susceptible to this future threat but due to the shear computational capabilities promised by these theoretical devices the privat key algorithms such as AES are also vulnerable.