Abstract
This work presents two hardware coprocessors for high-performance symmetric cryptographic algorithms. Two algorithms have been implemented, that is, Advanced Encryption Standard Algorithm and International Data Encryption Algorithm, using two different hardware coprocessors, a field-programmable gate array (FPGA) and a graphics processing unit (GPU). These two devices allow implementing very fast versions of both cryptographic algorithms employing two different parallelism methodologies: hardware parallelism in the FPGA implementations and multicore parallelism in GPU implementations.
Similar content being viewed by others
Notes
Group of threads physically executed in parallel (SIMD) on an SM.
References
Arabnia HR, Bhandarkar SM (1996) Parallel stereocorrelation on a reconfigurable multi-ring network. J Supercomput (Springer Publ) 10(3):243–270
Arif Wani M, Arabnia HR (2003) Parallel edge-region-based segmentation algorithm targeted at reconfigurable multi-ring network. J Supercomput 25(1):43–63
Schneier B (1996) Applied cryptography, 2nd edn. Wiley, New York
Federal Information Processing Standards Publication 197 (FIPS 197) (2001) Advanced encryption standard (AES). http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf
Garfinkel S (1995) PGP: pretty good privacy. O’Reilly, Sebastopol
IEEE 802.11i (2004) Wireless LAN medium access control (MAC) and physical layer (PHY) specifications. http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1318903
Granado-Criado JM, Vega-Rodríguez MA, Sánchez-Pérez JM, Gómez-Pulido JA (2009) Parallel and runtime reconfigurable implementation of the idea algorithm. J Circuits Syst Comput 18(1):133–150
Granado-Criado JM, Vega-Rodriguez MA, Sanchez-Perez JM, Gomez-Pulido JA (2010) A new methodology to implement the AES algorithm using partial and dynamic reconfiguration. Integr VLSI J 43:72–80
Ferguson N, Schneier B, Kohno T (2010) Cryptography Engineering. Wiley, New York p. 71
Gilger J, Barnickel J, Meyer U (2012) GPU-acceleration of block ciphers in the OpenSSL cryptographic library. In: Information Security, Lecture Notes in Computer Science, vol 7483, pp 338–353
González I, Lopez-Buedo S, Gómez FJ, Martínez J (2003) Using partial reconfiguration in cryptographic applications: an implementation of the IDEA algorithm. In: 13th International Conference on Field Programmable Logic and Application, pp 194–203
González I (2002) Codiseño en Sistemas Reconfigurables basado en Java. Internal technical report, UAM, Spain
Leong MP, Cheung OYH, Tsoi KH, Leong PHW (2000) A bit-serial implementation of the international data encryption algorithm IDEA. In: IEEE Symposium on Field-Programmable Custom Computing Machines, pp 122–131
Cheung OYH, Tsoi KH, Leong PHW, Leong MP (2001) Tradeoffs in parallel and serial implementations of the international data encryption algorithm IDEA. In: Workshop on Cryptographic Hardware and Embedded Systems, vol 2162, pp 333–347
Hämäläinen A, Tomminska M, Skittä J (2002) 6.78 gigabits per second implementation of the IDEA cryptographic algorithm. In: 12th International Conference on Field Programmable Logic and Application, pp 760–769
Standaert FX, Rouvroy G, Quisquater JJ, Legat JD (2003) Efficient implementation of Rijndael encryption. In: Reconfigurable Hardware: Improvements and Design tradeoffs, CHES 2003. LNCS, vol 2779, pp 334–350
Zhang X, Parhi KK (2004) High-speed VLSI architectures for the AES algorithm. IEEE Trans Very Large Scale Integr (VLSI) Syst 12(9):957–967
McLoone M, McCanny JV (2001) Rijndael FPGA implementation utilizing look-up tables. In: IEEE Workshop on Signal Processing Systems, pp 349–360
Labbé A, Pérez A (2002) AES implementations on FPGA: time-flexibility tradeoff. In: 12th Field Programmabe Logic and Applications (FPL), pp 836–844
Hussain U, Jamal H (2012) An efficient high throughput FPGA implementation of AES for multi-gigabit protocols. In: 10th International Conference on Frontiers of Information Technology, pp 215–218
Good T, Benaissa M (2005) AES on FPGA from the fastest to the smallest. In: Seventh Cryptographic Hardware and Embedded Systems (CHES), pp 427–440
Legat Uroš, Biasizzo Anton, Novak Franc (2011) A compact AES core with on-line error-detection for FPGA applications with modest hardware resources. Microprocess Microsyst 35:405–416
Granado-Criado JM, Vega-Rodríguez MA, Sánchez-Pérez JM, Gómez-Pulido JA (2009) Implementación del Algoritmo AES en modo CBC usando un MPSoC. IX Jornadas sobre Computación Reconfigurable y Aplicaciones, pp 405–411
Huerta P, Castillo J, Mártinez JI, López V (2005) A microblaze based multiprocessor SoC. WSEAS Trans Circuits Syst 4:423–430
Granado-Criado JM, Vega-Rodríguez MA, Chaves-González JM, Sánchez-Pérez JM, Gómez-Pulido JA (2013) Low power consumption security platform for industrial communications using an MPSoC. J Circuits Syst Comput 22(05):1–18
Zambreno J, Nguyen D, Choudhary A (2004) Exploring area/delay tradeoffs in an AES FPGA implementation. In: 14th Field Programmable Logic and Applications (FPL), pp 575–585
Samiee H, Atani RE, Amindavar H (2011) A novel area-throughput optimized architecture for the AES algorithm. In: International Conference on Electronic Devices, Systems and Applications (ICEDSA), pp 29–32
Yoo S-M, Kotturi D, Pan DW, Blizzard J (2005) An AES crypto chip using a high speed parallel pipelined architecture. Microprocess Microsyst 29(7):317–326
Harrison O, Waldron J (2007) AES encryption implementation and analysis on commodity graphics processing units. In: 9th International Workshop on Cryptographic Hardware and Embedded Systems, (CHES (2007) Vienna, Austria, 10–13 September 2007. LNCS, vol 4727, pp 209–226
Bos JW, Osvik DA, Stefan D (2009) Fast implementations of AES on various platforms. In: Software Performance Enhancement for Encryption and Decryption and Cryptographic Compilers (SPEED-CC), pp 19–34
Manavski SA (2007) CUDA compatible GPU as an efficient hardware accelerator for AES cryptography. In: IEEE International Conference on Signal Processing and Communications (ICSPC), pp 65–68
Qinjian L, Chengwen Z, Kaiyong Z, Xinxin M, Xiaowen C (2012) Implementation and analysis of AES encryption on GPU. In: IEEE 14th International Conference on High Performance Computing and Communication and IEEE 9th International Conference on Embedded Software and Systems, pp 843–848
NVIDIA CUDA Compute Unified Device Architecture (2007) CUDA programming guide, version 1.1. http://sbel.wisc.edu/Courses/ME964/2008/Documents/Programming_Guide_1.1.pdf
Osvik DA, Bos JW, Stefan D, Canright D (2010) Fast software AES encryption. In: Fast Software Encryption. Springer, pp 75–93
Daemen J, Rijmen V (2000) The block cipher Rijndael. In: Smart card research and applications, pp 288–296
Xilinx (2005) Virtex-II Platform FPGAs: complete data sheet
Celoxica (2011) http://www.celoxica.com
Vaidyanathan R, Trahan JL (2003) Dynamic reconfiguration: architectures and algorithms. Kluwer Academic/Plenum Publishers, New York
Sun Microsystems (2004) JBits user guide
Harris M, (2011) CUDA performance. http://www.vpac.org/files/GPU-Slides/05.CudaOptimization.pdf
Harrisonm O, Waldron J (2008) Practical symmetric key cryptography on modern graphics hardware. In: USENIX Security Symposium, pp 195–210
Pan Z, Venkateshwaran S, Gurumani ST, and Wells BE (2003) Exploiting fine-grain parallelism of IDEA using Xilinx FPGA. In: Proceedings of 16th International Conference on Parallel and Distributed Computing Systems (PDCS-2003), Reno, NV, USA, pp 122–131
Beuchat JL, Haenni JO, Teuscher C, Gómez FJ, Restrepo HF, Sánchez E (2002) Approches matérielles et logicielles de l’algorithme IDEA. Technique et Science Informatiques 21(2):203–204
Kitsos P, Sklavos N, Galanis MD, Koufopavlou O (2004) 64-bit block ciphers: hardware implementations and comparison analysis. Comput Electr Eng 30:593–604
Hodjat A, Verbauwhede I (2004) A 21.54 Gbits/s fully pipelined AES processor on FPGA. In: 12th Annual IEEE Symposium on Field-Programmable Custom Computing Machines, pp 308–309
Sugier J (2012) Implementing AES and serpent ciphers in new generation of low-cost FPGA devices. In: Complex Systems and Dependability Advances in Intelligent and Soft Computing, vol 170, pp 273–287
Saggese GP, Mazzeo A, Mazzoca N, Strollo AGM (2003) An FPGA-based performance analysis of the unrolling, tiling, and pipelining of the AES algorithm. In: FPL 2003, LNCS, vol 2778, pp 292–302
Jarvinen KU, Tommiska MT, Skytto JO (2003) A fully pipelined memoryless 17.8 Gbps AES-128 encryptor. in: Proceedings of the 11th International Symposium on Field Programmable Gate Arrays, pp 207–215
Trang H, Van Loi N (2012) An efficient FPGA implementation of the advanced encryption standard algorithm. In: Computing and Communication Technologies, Research, Innovation, and Vision for the Future (RIVF), pp 1–4
Gaj K, Chodowiec P (2001) Fast implementation and fair comparison of the final candidates for advanced encryption standard using field programmable gate arrays. In: CT-RSA 2001, LNCS, vol 2020, pp 84–99
Nishikawa N, Iwai K, Kurokawa T (2011) High-performance symmetric block ciphers on CUDA. In: Proceedings of 2011 Second International Conference on Networking and Computing (ICNC), pp 221–227
Nishikawa N, Iwai K, Kurokawa T (2010) Granularity optimization method for AES encryption implementation on CUDA. IEICE technical report. In: VLSI Design Technologies (VLD2009-69), Kanagawa, Japan, pp 107–112
Yang J, Goodman J (2007) Symmetric key cryptography on modern graphics hardware. In: Asiacrypt 2007, LNCS, vol 4833, pp 249–264
Kipper M, Slavkin J, Denisenko D (2009) Implementing AES on GPU. University of Toronto. http://www.eecg.toronto.edu/~moshovos/CUDA08/arx/AES_ON_GPU_report.pdf,
CETA-Ciemat (2016) http://www.ceta-ciemat.es
Acknowledgements
This work was partially funded by the Spanish Ministry of Economy and Competitiveness and the ERDF (European Regional Development Fund), under the contract TIN2016-76259-P (PROTEIN project). This work was partially supported by the computing facilities of Extremadura Research Centre for Advanced Technologies (CETA-CIEMAT), funded by the European Regional Development Fund (ERDF). CETA-CIEMAT belongs to CIEMAT and the Government of Spain [55]. Special thanks to Juan M. Sánchez-Pérez without whom this work would not have been possible.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Granado-Criado, J.M., Vega-Rodríguez, M.A. Hardware coprocessors for high-performance symmetric cryptography. J Supercomput 73, 2456–2482 (2017). https://doi.org/10.1007/s11227-016-1929-y
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-016-1929-y