Loop parallelization and pipelining implementation of AES algorithm using OpenMP and FPGA

AES (Advanced Encryption Standard) is an effective encryption algorithm in applications like Internet to provide cyber security and also in smart cards. Multi-core and Field-Programmable Gate Arrays (FPGAs) are the promising solution for the performance up gradation. The main focus of this paper is to increase the throughput of the AES algorithm through hardware and software techniques. Various approaches for efficient hardware implementation of the AES algorithm is based on architectural optimization techniques like pipelining, loop unrolling and iterative design. Here we have adopted pipelining technique to increase the speed of the algorithm by processing multiple rounds simultaneously. Software parallelization techniques with OpenMP standard is used to increase the speedup of the algorithm compared to its sequential version. A pipelined architecture AES-128 core is implemented using Xilinx xc5vlx110t-1 device can achieve a throughput of 31.25Gbps which is more effective than previous ASIC implementations. By implementing the AES algorithm using OpenMP we achieve speed up of 1.08 in the dual core processor.

[1]  Ingrid Verbauwhede,et al.  Area-throughput trade-offs for fully pipelined 30 to 70 Gbits/s AES processors , 2006, IEEE Transactions on Computers.

[2]  Antonino Mazzeo,et al.  An FPGA-Based Performance Analysis of the Unrolling, Tiling, and Pipelining of the AES Algorithm , 2003, FPL.

[3]  A. Neslin Ismailoglu,et al.  A high speed ASIC implementation of the Rijndael algorithm , 2004, 2004 IEEE International Symposium on Circuits and Systems (IEEE Cat. No.04CH37512).

[4]  Máire O'Neill,et al.  High Performance Single-Chip FPGA Rijndael Algorithm Implementations , 2001, CHES.

[5]  John V. McCanny,et al.  Rijndael FPGA implementation utilizing look-up tables , 2001, 2001 IEEE Workshop on Signal Processing Systems. SiPS 2001. Design and Implementation (Cat. No.01TH8578).

[6]  Kris Gaj,et al.  Comparison of the Hardware Performance of the AES Candidates Using Reconfigurable Hardware , 2000, AES Candidate Conference.

[7]  Teddy Mantoro,et al.  Comparison between RSA hardware and software implementation for WSNs security schemes , 2010, Proceeding of the 3rd International Conference on Information and Communication Technology for the Moslem World (ICT4M) 2010.

[8]  Guochu Shou,et al.  High Throughput, Pipelined Implementation of AES on FPGA , 2009, 2009 International Symposium on Information Engineering and Electronic Commerce.

[9]  Cheng-Wen Wu,et al.  Single- and Multi-core Configurable AES Architectures for Flexible Security , 2010, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[10]  Julian Ortega,et al.  Parallelizing AES on multicores and GPUs , 2011, 2011 IEEE INTERNATIONAL CONFERENCE ON ELECTRO/INFORMATION TECHNOLOGY.

[11]  Dariusz Burak,et al.  Parallelization of the AES Algorithm , 2005 .

[12]  Miguel A. Vega-Rodríguez,et al.  A new methodology to implement the AES algorithm using partial and dynamic reconfiguration , 2010, Integr..