Engineering Journal Implementation of AES Algorithm
Engineering Journal Implementation of AES Algorithm
ISSN: [2395-6992]
Abstract Data security has become one of the most important concerns in the recent times. This has led to an increase in
the importance of cryptography of the electronic data. Cryptography is the process of protecting digital information. Though
there are numerous encryption systems used in security systems by various organizations, for the wider use, a particular
encryption method is used as a standard. The internationally accepted and acclaimed algorithm is Advanced Encryption
Standard (AES). Here in this design we are implementing the Advanced Encryption Standard (AES) with a key length of 128
bits using Verilog hardware description language (HDL).
Keywords Advanced Encryption Standard (AES), cryptography , Cipher, Encryption, Field Programmable Gate Array
(FPGA), Hardware description language(HDL), National Institute of Standards and Technology (NIST) , Verilog.
I.
INTRODUCTION
Each day milllions of people generate enormous amounts of data in various fields such as banking , financial services ,
telecommunication etc. it is very important to not only keep this data secure during transmission but also during storage. In
this regard cryptogrphy provides a method to be able to rely on the data and keep it secure from the attackers.
For a long time Data encryption standard(DES) was the standard for the symmetric key encryption.It has key length of 56
bits. This key length is small and could easily be attacked. The National Institute of Standards and Technology (NIST) thus
called for a proposal for a new advanced encryption standard. Selection of AES was an open process. In 2001 NIST declared
the block cipher Rijndael as the new AES.
AES takes an input data stream of 128 bits and encrypts it to give the output cipher of 128 bits. It supports 3 different key
lengths and with each key different no. of rounds are associated. For a 128 bit key there are 10 rounds, with 192 bit key 12
rounds and with 256 bit key there are 14 rounds.
Wireless Local Area Networks (WLAN), Wireless Personal Area Networks (WPAN), Wireless Sensor Networks (WSN),
Smart Cards ,the Wi-Fi encryption standard IEEE 802.11i, the secure shell network protocol SSH (Secure Shell), the Internet
phone Skype are examples of a few technologies where AES is used.
RELATED WORK
AES was developed in a way so that it could be implemented on both software are hardware. Hardware implementation of
AES can be done using the reprogrammable device like FPGAs(Field programmable gate arrays) as they can provide better
performance than software methods.
The propsed design uses an efficeint way of implementing the 128 bit key AES encryption by reusing the resources required
for encrypting the data in each round. Thus , reducing the resources required for the encryption of data. This helps in
reducing number of slices reqiured in the FPGA and also helps in improving the performance. With a key length of 128 bits
10 rounds are required thus each round can be done in one clock cycle and thus a total of 10 clock cycles will be required to
get the cipher text.
III.
AES ALGORITHM
Page | 112
ISSN: [2395-6992]
First the round key[0] is added to the plain text then the subsequent rounds are performed which use the same algorithm only
in the last round there is no mix column layer except for these all other rounds function in the same way.
A simple substitution of each byte using a look up table is done. Each byte of is replaced by byte indexed by row (left 4-bits)
& column (right 4-bits) ex. byte {95} is replaced by byte in row 9 column 5 which has value {2a}
ISSN: [2395-6992]
The MixColumn step is a linear transformation which mixes each column of the state matrix. Each byte is replaced by a value
dependent on all 4 bytes in the column and is performed by the following multiplication. Multiplication and addition of the
coefficients is done in GF(28). Where multiplication by 2 is done by performing a left shift and xor with 1B if msb before
shift is 1 and multiplication by 3 is multiplication with (01 xor 10).
ISSN: [2395-6992]
Verilog HDL was used to implement this design.The simulation and verrification of the design was done on modelsim 6.4a .
The synthesis of the design was done on Xilinx ISE.To minimze the resource requirment and the no. of slices needed the
resources for each round were reused.
IV.
RESULTS
The top module of the AES in Xilinx ISE 14.1 is as shown below
This simulation is done in modelsim and shows the 128 bit output cipher text as output for 128 bit input. y is the output as
the cipher text of 128 bits in the simulation for input x and for the key of 128 bits. Active low reset was used.
AES synthesis
Synthesis was done using Xilinx ISE 14.1 and Spartan 3E XCs500E FG320 FPGA kit was used. Synthesis results were:
V.
ISSN: [2395-6992]
CONCLUSION
Although software implementations leads to smaller requirement of resources but high performance and speed can be
achieved by hardware implementations. An efficient implementation of AES was done which resulted in lower no. of slices
required for implementation. The efficiency and performance was made to increase. Thus reusability of resources can lead to
better results. Simulation of AES algorithm was done on ModelSim software and implemented on Xilinx XC3S500E
Spartan-3E FPGA kit.
REFERENCES
[1] Hoang Trang and Nguyen Van (2012), An efficient FPGA implementation of the Advanced Encryption Standard algorithm
[2] Xinmiao Zhang and Keshab K. Parhi,Implementation approaches for the advanced encryption standard algorithm.
[3] Ritu Pahal Vikas kumar,Efficient implementation of aes International Journal of Advanced Research in Computer Science and
Software Engineering, Volume 3, Issue 7, July 2013 ISSN: 2277 128X.
[4] Understanding AES Mix-Columns Transformation Calculation , Kit Choy Xintong
[5] Yang Jun Ding Jun Li Na Guo Yixiong School of Information Science and Engineering, Yunnan University Kunming, China FPGA based design and implementation of reduced AES algorithm(IEEE 2010).
[6] Deshpande, Hrushikesh S; Karande, Kailash J; Mulani, Altaaf O [ IEEE 2014 International Conference on Communications and
Signal Processing (ICCSP) efficient implementation of aes algorithm on FPGA. ]
[7] Verilog HDL: A Guide to Digital Design and Synthesis, By Samir Palnitkar.
[8] Understanding Cryptography by Christof Paar, Jan Pelzl.
Page | 116