Abstract
With the increase in computation and data storage in cloud servers, the need for a dedicated hardware accelerator for encryption is arising in order to reduce the processor job. High-throughput and resource-optimized implementation of 128-bit Advanced Encryption Standard (AES 128-bit), which can be used as an accelerator, is presented in this article. Memory partitioning is done in order to assign multiple ports for parallel data access. After the algorithm is pipelined and unrolled at each operation on the basis of the analyzed latency and initiation interval of different operations, for each critical path delays, a new multistage single initiation interval sub-pipelined architecture is proposed to make the initiation interval to one for lowest path delay. As a result, all operations in AES can be initiated within one clock cycle and can accept input in every clock cycle. The proposed method when simulated, synthesized, and implemented on the latest XC7VX690T device gives a throughput of 104.06 Gbps at a maximum frequency of 813 MHz and 1.23-ns path delay. The resource utilization is lower when compared with other counterparts. The proposed system gives 30.74 Mbps efficiency on XC5VLX85 device, which is 27.13% more than the best efficiency reported in a previous work.
Similar content being viewed by others
Change history
10 April 2018
The original version of this article unfortunately contained mistakes. Both author names were presented in Western display order. Correct is the Eastern display order. Therefore the correct citation of this article reads “Manjith B.C. & Ramasubramanian N. Arab J Sci Eng (2017). https://doi.org/10.1007/s13369-017-2925-0”. The original article has been corrected.
10 April 2018
The original version of this article unfortunately contained mistakes. Both author names were presented in Western display order. Correct is the Eastern display order. Therefore the correct citation of this article reads ?Manjith B.C. & Ramasubramanian N. Arab J Sci Eng (2017). https://doi.org/10.1007/s13369-017-2925-0?. The original article has been corrected.
10 April 2018
The original version of this article unfortunately contained mistakes. Both author names were presented in Western display order. Correct is the Eastern display order. Therefore the correct citation of this article reads ���Manjith B.C. & Ramasubramanian N. Arab J Sci Eng (2017). https://doi.org/10.1007/s13369-017-2925-0���. The original article has been corrected.
10 April 2018
The original version of this article unfortunately contained mistakes. Both author names were presented in Western display order. Correct is the Eastern display order. Therefore the correct citation of this article reads ���Manjith B.C. & Ramasubramanian N. Arab J Sci Eng (2017). https://doi.org/10.1007/s13369-017-2925-0���. The original article has been corrected.
10 April 2018
The original version of this article unfortunately contained mistakes. Both author names were presented in Western display order. Correct is the Eastern display order. Therefore the correct citation of this article reads ���Manjith B.C. & Ramasubramanian N. Arab J Sci Eng (2017). https://doi.org/10.1007/s13369-017-2925-0���. The original article has been corrected.
10 April 2018
The original version of this article unfortunately contained mistakes. Both author names were presented in Western display order. Correct is the Eastern display order. Therefore the correct citation of this article reads ���Manjith B.C. & Ramasubramanian N. Arab J Sci Eng (2017). https://doi.org/10.1007/s13369-017-2925-0���. The original article has been corrected.
10 April 2018
The original version of this article unfortunately contained mistakes. Both author names were presented in Western display order. Correct is the Eastern display order. Therefore the correct citation of this article reads ���Manjith B.C. & Ramasubramanian N. Arab J Sci Eng (2017). https://doi.org/10.1007/s13369-017-2925-0���. The original article has been corrected.
References
Kilts, S.: Advanced FPGA Design: Architecture, Implementation, and Optimization. Wiley, UK (2007)
Phan, R.C.W.: Impossible differential cryptanalysis of 7-round Advanced Encryption Standard (AES). Inf. Process. Lett. 91(1), 33–38 (2004)
Hauck, S.; Andre, D.: Reconfigurable Computing: The Theory and Practice of FPGA-Based Computation, vol. 1. Morgan Kaufmann, Burlington (2010)
Teubner, J.; Woods, L.: Data Processing on FPGAs, Synthesis Lectures on Data Management 5.2, pp. 1–118. Morgan & Claypool, San Rafael (2013)
Bokefode, J.D.; Bhise, A.S.; Satarkar, P.A.; Modani, D.G.: Developing a secure cloud storage system for storing IoT data by applying role-based encryption. Proc. Comput. Sci. 89, 43–50 (2016)
Hossein, R.; Elankovan, S.; Ali, Md; Zin, A.M.: Encryption as a service (EaaS) as a solution for cryptography in cloud. Proce. Technol. 11, 1202–1210 (2013)
Krutz, R.I.; Vines, R.D.: Cloud Security: A Comprehensive Guide to Secure Cloud Computing. Wiley, New York (2010)
AWS Storage Services Overview a Look at Storage Services Offered by AWS. In: Amazon Web Services (December 2016)
Protecting Data in Microsoft Azure, White Paper. In: Microsoft (August 2014)
Encryption at Rest in Google Cloud Platform Google Cloud Platform Encryption Whitepaper (August 2016)
Cloudsigma. https://www.cloudsigma.com/securing-your-data-in-the-cloud-with-encryption/
CLOUDLINK® SECUREVSA ON VBLOCK SYSTEMS, White Paper CloudSigma. (2014)
HP Atalla Cloud Encryption Securing Data in the Cloud, Technical White Paper (November 2013)
Farashahi, R.R.; Rashidi, B.; Sayedi, S.M.: FPGA based fast and high-throughput 2-slow retiming 128-bit AES encryption algorithm. Microelectron. J. 45(8), 1014–1025 (2014)
Jing, M.-H.; Chen, Z.-H.; Chen, J.-H.; Chen, Y.-H.: Reconfigurable system for high-speed and diversified AES using FPGA. Microprocess. Microsyst. 31(2), 94–102 (2007)
Liu, Q.; Xu, Z.; Yuan, Y.: High throughput and secure Advanced Encryption Standard on field programmable gate array with fine pipelining and enhanced key expansion. IET Comput. Digit. Tech. 9(3), 175–184 (2014)
Soltani, A.; Sharifian, S.: An ultra-high throughput and fully pipelined implementation of AES algorithm on FPGA. Microprocess. Microsyst. 39(7), 480–493 (2015)
Lee, H.; Paik, Y.; Jun, J.; Han, Y.; Kim, S.W.: High-throughput low-area design of AES using constant binary matrix-vector multiplication. Microprocess. Microsyst. 47, 360–368 (2016)
Good, T.; Benaissa, M.: Pipelined AES on FPGA with support for feedback modes (in a multi-channel environment). IET Inf. Secur. 1(1), 1–10 (2007)
Hammad, I.; El-Sankary, K.; El-Masry, E.: High-speed AES encryptor with efficient merging techniques. IEEE Embed. Syst. Lett. 2(3), 67–71 (2010)
Iniewski, K.: Embedded Systems: Hardware, Design and Implementation. Wiley, New York (2012)
Kalaiselvi, K.; Mangalam, H.: Power efficient and high performance VLSI architecture for AES algorithm. J. Electr. Syst. Inf. Technol. 2(2), 178–183 (2015)
Liu, Q.; Xu, Z.; Yuan, Y.: A 66.1 Gbps single-pipeline AES on FPGA. In: 2013 International Conference on Field-Programmable Technology (FPT), IEEE (2013)
Atteya, A.M.; Madian, A.H.: A hybrid chaos-AES encryption algorithm and its implementation based on FPGA. 2014 IEEE 12th International New Circuits and Systems Conference (NEWCAS), IEEE (2014)
Kumar, J.S.; Mahalakshmi, C.: Implementation of pipelined hardware architecture for AES algorithm using FPGA. In: 2014 International Conference on Communication Systems and Network Technologies, IEEE (2014)
Deshpande, P.U.; Bhosale, S.A.: AES encryption engines of many core processor arrays on FPGA by using parallel, pipeline and sequential technique. In: 2015 International Conference on Energy Systems and Applications, IEEE (2015)
Hammad, I.: Efficient Hardware Implementations for the Advanced Encryption Standard Algorithm. Dalhousie University, Halifax (2010)
Granado-Criado, J.M.; Vega-Rodríguez, M.A.; Sánchez-Pérez, J.M.; Gómez-Pulido, J.A.: A new methodology to implement the AES algorithm using partial and dynamic reconfiguration. Int VLSI J 43(1), 72–80 (2010)
Chiţu, C.; Glesner, M.: An FPGA implementation of the AES-Rijndael in OCB/ECB modes of operation. Microelectron. J. 36(2), 139–146 (2005)
Zhang, X.; Parhi, K.K.: High-speed VLSI architectures for the AES algorithm. IEEE Trans. Very Large Scale Integr. (VLSI) Syst. 12(9), 957–967 (2004)
Mozaffari-Kermani, M.; Reyhani-Masoleh, A.: Efficient and high-performance parallel hardware architectures for the AES-GCM. IEEE Trans. Comput. 61(8), 1165–1178 (2012)
Hussain, U.; Jamal, H.: An efficient high throughput FPGA implementation of AES for multi-gigabit protocols. In: 2012 10th International Conference on Frontiers of Information Technology (FIT), IEEE (2012)
Karimian, G.H.; Rashidi, B.: A high speed and low power image encryption with 128-bit aes algorithm. Int. J. Comput. Electr. Eng. 4(3), 367–372 (2012)
Oukili, S.; Bri, S.: High throughput FPGA implementation of Advanced Encryption Standard algorithm. Telkomnika 15(1), 494–503 (2017)
Oukili, S.; Bri, S.: Hardware implementation of AES algorithm with logic S-box. J. Circuits Syst. Comput. 26(9), 1750141-1–1750141-19 (2017)
NIST-FIPS Standard: Announcing the Advanced Encryption Standard (AES). Federal Information Processing Standards Publication 197, 1–51 (2001)
Daemen, J.; Rijmen, V.: The Design of Rijndael: AES—The Advanced Encryption Standard. Springer, New York (2013)
Stallings, W.: Cryptography and Network Security: Principles and Practices. Pearson Education, Delhi (2006)
Heron, S.: Advanced Encryption Standard (AES). Netw. Secur. 12, 8–12 (2009)
Yacoumis, P.D.: On the Security of the Advanced Encryption Standard. University of Adelaide, Adelaide (2005)
Hennessy, J.L.; Patterson, D.A.: Computer Architecture: A Quantitative Approach. Elsevier, Amsterdam (2011)
Hwang, K.; Jotwani, N.: Advanced Computer Architecture, 3e. McGraw-Hill Education, New York (2011)
Vivado Design Suite Tutorial: High-Level Synthesis (UG871)—Xilinx. https://www.xilinx.com/support/documentation/sw_manuals/xilinx2014_1/ug871-vivado-high-level-synthesis-tutorial.pdf
Vivado Design Suite User Guide: Design Flows Overview—Xilinx. https://www.xilinx.com/support/documentation/sw_manuals/xilinx2013_3/ug892-vivado-design-flows-overview.pdf
Vivado Design Suite User Guide: Using Constraints (UG903)—Xilinx. https://www.xilinx.com/support/documentation/sw_manuals/xilinx2013_1/ug903-vivado-using-constraints.pdf
Author information
Authors and Affiliations
Corresponding author
Additional information
The original version of this article was revised: Both author names had been presented in Western display order. Correct is the Eastern display order. Therefore the correct citation of this article reads “Manjith B.C. & Ramasubramanian N. Arab J Sci Eng (2017). https://doi.org/10.1007/s13369-017-2925-0”.
Rights and permissions
About this article
Cite this article
Baby Chellam, M., Natarajan, R. AES Hardware Accelerator on FPGA with Improved Throughput and Resource Efficiency. Arab J Sci Eng 43, 6873–6890 (2018). https://doi.org/10.1007/s13369-017-2925-0
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s13369-017-2925-0