Skip to main content
Log in

Hardware coprocessors for high-performance symmetric cryptography

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11

Similar content being viewed by others

Notes

  1. Group of threads physically executed in parallel (SIMD) on an SM.

References

  1. Arabnia HR, Bhandarkar SM (1996) Parallel stereocorrelation on a reconfigurable multi-ring network. J Supercomput (Springer Publ) 10(3):243–270

    Article  MATH  Google Scholar 

  2. Arif Wani M, Arabnia HR (2003) Parallel edge-region-based segmentation algorithm targeted at reconfigurable multi-ring network. J Supercomput 25(1):43–63

    Article  MATH  Google Scholar 

  3. Schneier B (1996) Applied cryptography, 2nd edn. Wiley, New York

    MATH  Google Scholar 

  4. Federal Information Processing Standards Publication 197 (FIPS 197) (2001) Advanced encryption standard (AES). http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf

  5. Garfinkel S (1995) PGP: pretty good privacy. O’Reilly, Sebastopol

    MATH  Google Scholar 

  6. 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

  7. 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

    Article  Google Scholar 

  8. 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

    Article  Google Scholar 

  9. Ferguson N, Schneier B, Kohno T (2010) Cryptography Engineering. Wiley, New York p. 71

    Google Scholar 

  10. 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

  11. 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

  12. González I (2002) Codiseño en Sistemas Reconfigurables basado en Java. Internal technical report, UAM, Spain

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

    Article  Google Scholar 

  18. McLoone M, McCanny JV (2001) Rijndael FPGA implementation utilizing look-up tables. In: IEEE Workshop on Signal Processing Systems, pp 349–360

  19. Labbé A, Pérez A (2002) AES implementations on FPGA: time-flexibility tradeoff. In: 12th Field Programmabe Logic and Applications (FPL), pp 836–844

  20. 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

  21. 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

  22. 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

    Article  Google Scholar 

  23. 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

  24. Huerta P, Castillo J, Mártinez JI, López V (2005) A microblaze based multiprocessor SoC. WSEAS Trans Circuits Syst 4:423–430

    Google Scholar 

  25. 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

    Article  Google Scholar 

  26. 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

  27. 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

  28. 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

    Article  Google Scholar 

  29. 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

  30. 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

  31. 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

  32. 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

  33. 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

  34. Osvik DA, Bos JW, Stefan D, Canright D (2010) Fast software AES encryption. In: Fast Software Encryption. Springer, pp 75–93

  35. Daemen J, Rijmen V (2000) The block cipher Rijndael. In: Smart card research and applications, pp 288–296

  36. Xilinx (2005) Virtex-II Platform FPGAs: complete data sheet

  37. Celoxica (2011) http://www.celoxica.com

  38. Vaidyanathan R, Trahan JL (2003) Dynamic reconfiguration: architectures and algorithms. Kluwer Academic/Plenum Publishers, New York

    Google Scholar 

  39. Sun Microsystems (2004) JBits user guide

  40. Harris M, (2011) CUDA performance. http://www.vpac.org/files/GPU-Slides/05.CudaOptimization.pdf

  41. Harrisonm O, Waldron J (2008) Practical symmetric key cryptography on modern graphics hardware. In: USENIX Security Symposium, pp 195–210

  42. 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

  43. 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

    Google Scholar 

  44. Kitsos P, Sklavos N, Galanis MD, Koufopavlou O (2004) 64-bit block ciphers: hardware implementations and comparison analysis. Comput Electr Eng 30:593–604

    Article  MATH  Google Scholar 

  45. 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

  46. 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

  47. 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

  48. 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

  49. 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

  50. 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

  51. 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

  52. 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

  53. Yang J, Goodman J (2007) Symmetric key cryptography on modern graphics hardware. In: Asiacrypt 2007, LNCS, vol 4833, pp 249–264

  54. 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,

  55. CETA-Ciemat (2016) http://www.ceta-ciemat.es

Download references

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

Authors

Corresponding author

Correspondence to José M. Granado-Criado.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-016-1929-y

Keywords

Navigation