Research and design of AES algorithm based on high-level synthesis
ZHANG Wang1,2, JIA Jia3, MENG Yuan1,2, BAI Xu1,2
1. Institute of Information Engineering, Chinese Academy of Sciences, Beijing 100093, China; 2. National Engineering Laboratory of Information Security Technologies, Beijing 100093, China; 3. Beijing Special Engineering Design and Research Institute, Beijing 100028, China
Abstract:Due to the increasingly high performance requirements on the Advanced Encryption Standard (AES) algorithm which was widely used, software-based cryptographic algorithms have been increasingly difficult to meet the demands of high-throughput ciper cracking. As a result, more and more encryption algorithms have been accelerated by using Field-Programmable Gate Array (FPGA) platform. Focused on the issue that the development of AES algorithm based on FPGA has high complexity and long development cycle, with High-Level Synthesis (HLS) design methodologies, AES hardware acceleration algorithm was designed by using high-level programming language. Firstly, loop unrolling, etc were used to improve operation parallelism. Secondly, to make full use of on-chip memory and circuit resources, the resource balance optimization technology was used. Finally, the full pipeline structure was added to improve the clock frequency and throughput of the overall design. The detailed analysis and comparison of the benchmark design and different optimized designs with structural expansion, resource balance and pipeline were decribed. The experimental results show that the clock frequency of AES algorithm is up to 127.06 MHz and the throughput eventually achieves 16.26 Gb/s on Xilinx xc7z020clg484 platform, compared with the benchmark AES design, performance increases by three orders of magnitude.
张望, 贾佳, 孟渊, 白旭. 基于高层次综合的AES算法研究与设计[J]. 计算机应用, 2017, 37(5): 1341-1346.
ZHANG Wang, JIA Jia, MENG Yuan, BAI Xu. Research and design of AES algorithm based on high-level synthesis. Journal of Computer Applications, 2017, 37(5): 1341-1346.
[1] DAEMEN J, RIJMEN V. The Design of Rijndael[M]. New York:Springer-Verlag, 2002:31-50. [2] 周轶男, 李曦, 冯朝阳. 高速全并行的AES加解密算法在单片FPGA上的实现[J]. 计算机应用, 2004, 24(S2):102-106. (ZHOU Y N, LI X, FENG C Y. An implementation of high-speed parallel AES algorithm on a single chip FPGA[J]. Journal of Computer Applications, 2004, 24(S2):102-106.) [3] COUSSY P, TAKACH A. Guest editors' introduction:raising the abstraction level of hardware design[J]. IEEE Design & Test, 2009, 26(4):4-6. [4] 党宏社, 王黎, 王晓倩. 基于Vivado HLS的FPGA开发与应用研究[J]. 陕西科技大学学报(自然科学版), 2015,33(1):155-159. (DANG H S, WANG L, WANG X Q. Development and application of FPGA based on Vivado HLS[J]. Journal of Shaanxi University of Science & Technology (Natural Science Edition), 2015,33(1):155-159.) [5] MEURER R S, MVCK T R, FROHLICH A A. An implementation of the AES cipher using HLS[C]//Proceedings of the 2013Ⅲ Brazilian Symposium on Computing Systems Engineering. Washington, DC:IEEE Computer Society, 2013:113-118. [6] 孙桂玲, 纪永鑫, 张潺潺,等. 基于HLS技术的Rijndael算法IP核实现与优化[J]. 微电子学与计算机, 2010, 27(4):205-208. (SUN G L, JI Y X, ZHANG C C, et al. Implementation and optimization of Rijndael arithmetic IP core based on HLS technology[J]. Microelectronics & Computer, 2010, 27(4):205-208.) [7] AHUJA S, GURUMANI S T, SPACKMAN C, et al. Hardware coprocessor synthesis from an ANSI C specification[J]. IEEE Design & Test of Computers, 2009, 26(4):58-67. [8] JÄRVINEN K U, TOMMISKA M T, SKYTT J O. A fully pipelined memoryless 17.8 Gbps AES-128 encryptor[C]//Proceedings of the 2003 ACM/SIGDA 11th International Symposium on Field Programmable Gate Arrays. New York:ACM, 2003:207-215. [9] HUSSAIN U, JAMAL H. An efficient high throughput FPGA implementation of AES for multi-gigabit protocols[C]//Proceedings of the 201210th International Conference on Frontiers of Information Technology. Piscataway, NJ:IEEE, 2012:215-218. [10] RODRIGUEZ-HENRIQUEZ F, SAQIB N A, DÍAZ-PÉREZ A. 4.2 Gbit/s single-chip FPGA implementation of AES algorithm[J]. Electronics Letters, 2003, 39(15):1115-1116. [11] MCLOONE M, MCCANNY J V. High performance single-chip FPGA Rijndael algorithm implementations[C]//Proceedings of the 3rd International Workshop on Cryptographic Hardware and Embedded Systems. London:Springer-Verlag, 2001:65-76. [12] HENZEN L, FICHTNER W. FPGA parallel-pipelined AES-GCM core for 100 G Ethernet applications[C]//Proceedings of the 2010 European Solid-State Circuits Conference. Piscataway, NJ:IEEE, 2010:202-205. [13] ZHOU G, MICHALIK H, HINSENKAMP L. Efficient and high-throughput implementations of AES-GCM on FPGAs[C]//Proceedings of the 2007 International Conference on Field-Programmable Technology. Piscataway, NJ:IEEE, 2008:185-192. [14] ZHOU G, MICHALIK H, HINSENKAMP L. Improving throughput of AES-GCM with pipelined Karatsuba multipliers on FPGAs[C]//Proceedings of the 5th International Workshop on Reconfigurable Computing:Architectures, Tools and Applications. Berlin:Springer-Verlag, 2009:193-203. [15] LIU Q, XU Z, YUAN Y. A 66.1 Gbps single-pipeline AES on FPGA[C]//Proceedings of the 2013 International Conference on Field-Programmable Technology. Piscataway, NJ:IEEE, 2013:378-381. [16] PUB N F. Announcing the Advanced Encryption Standard (AES)[S/OL].[2016-05-20]. http://www.just.edu.jo/~tawalbeh/cpe542/slides/aes/fips-197.pdf. [17] 杨海钢, 孙嘉斌, 王慰. FPGA器件设计技术发展综述[J]. 电子与信息学报, 2010, 32(3):714-727. (YANG H G, SUN J B, WANG W. An overview to FPGA device design technologies[J]. Journal of Electronics & Information Technology, 2010, 32(3):714-727.) [18] 田耘,胡彬,徐文波. Xilinx ISE Design Suite 10.x FPGA开发指南:逻辑设计篇[M]. 北京:人民邮电出版社, 2008:8-12. (TIAN Y, HU B, XU W B. Xilinx ISE Design Suite 10.x FPGA Development Guide:Logic Design[M]. Beijing:Posts and Telecom Press, 2008:8-12.)