Abstract
The processing power of graphic processing units (GPUs) has been applied for cryptographic algorithms for some time. For AES and DES especially, there is large body of existing academic work and some available code which makes use of the CUDA framework.
We contribute to the field of symmetric-key GPU cryptography by implementing and benchmarking multiple block ciphers on CUDA and OpenCL in the form of an OpenSSL cryptographic engine. We show common techniques to implement and accelerate these block ciphers (AES, DES, Blowfish, Camellia, CAST5, IDEA). Another equally important part of our work presents a guideline on how to perform reproducible benchmarks of these ciphers and similar GPU algorithms.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Adams, C.: The CAST-128 Encryption Algorithm. RFC 2144 (Informational) (May 1997)
Agosta, G., Barenghi, A., Santis, F.D., Biagio, A.D., Pelosi, G.: Fast Disk Encryption through GPGPU Acceleration. In: PDCAT, pp. 102–109. IEEE Computer Society (2009)
Agosta, G., Barenghi, A., Santis, F.D., Pelosi, G.: Record Setting Software Implementation of DES Using CUDA. In: ITNG, pp. 748–755. IEEE Computer Society (2010)
Biagio, A.D., Barenghi, A., Agosta, G., Pelosi, G.: Design of a parallel AES for graphics hardware using the CUDA framework. In: IPDPS, pp. 1–8. IEEE (2009)
Bos, J.W., Stefan, D.: Performance Analysis of the SHA-3 Candidates on Exotic Multi-core Architectures. In: Mangard, S., Standaert, F.-X. (eds.) CHES 2010. LNCS, vol. 6225, pp. 279–293. Springer, Heidelberg (2010)
Cook, D.L., Ioannidis, J., Keromytis, A.D., Luck, J.: CryptoGraphics: Secret Key Cryptography Using Graphics Cards. In: Menezes, A. (ed.) CT-RSA 2005. LNCS, vol. 3376, pp. 334–350. Springer, Heidelberg (2005)
Daniel, T.R., Mircea, S.: AES on GPU using CUDA. In: 2010 European Conference for the Applied Mathematics & Informatics. World Scientific and Engineering Academy and Society Press (2010)
N. I. for Standards and Technology. Data Encryption Standard (DES). NIST FIPS PUB 46-3 (1999)
Gervasi, O., Russo, D., Vella, F.: The AES Implantation Based on OpenCL for Multi/many Core Architecture. In: International Conference on Computational Science and its Applications, pp. 129–134 (2010)
Harrison, O., Waldron, J.: AES Encryption Implementation and Analysis on Commodity Graphics Processing Units. In: Paillier, P., Verbauwhede, I. (eds.) CHES 2007. LNCS, vol. 4727, pp. 209–226. Springer, Heidelberg (2007)
Harrison, O., Waldron, J.: Practical Symmetric Key Cryptography on Modern Graphics Hardware. In: USENIX Security Symposium, pp. 195–210. USENIX Association (2008)
Harrison, O., Waldron, J.: GPU accelerated cryptography as an OS service. Transactions on Computational Science 11, 104–130 (2010)
Jang, K., Han, S., Han, S., Moon, S., Park, K.: Accelerating SSL with GPUs. In: SIGCOMM, pp. 437–438. ACM (2010)
Jang, K., Han, S., Han, S., Moon, S., Park, K.: SSLShader: Cheap SSL acceleration with commodity processors. In: Proceedings of NSDI 2011 (2011)
Khronos OpenCL Working Group. The OpenCL Specification, version 1.1 (September 30, 2010)
Kumar, S., Paar, C., Pelzl, J., Pfeiffer, G., Schimmler, M.: Breaking Ciphers with COPACOBANA –A Cost-Optimized Parallel Code Breaker. In: Goubin, L., Matsui, M. (eds.) CHES 2006. LNCS, vol. 4249, pp. 101–118. Springer, Heidelberg (2006)
Lai, X., Massey, J.L.: A Proposal for a New Block Encryption Standard. In: Damgård, I.B. (ed.) EUROCRYPT 1990. LNCS, vol. 473, pp. 389–404. Springer, Heidelberg (1991)
Li, C., Wu, H., Chen, S., Li, X., Guo, D.: Efficient implementation for MD5-RC4 encryption using GPU with CUDA. In: Proceedings of the 3rd International Conference on Anti-Counterfeiting, Security, and Identification in Communication, pp. 167–170. IEEE Press (2009)
Luken, B.P., Ouyang, M., Desoky, A.H.: AES and DES encryption with GPU. In: ISCA PDCCS, pp. 67–70. ISCA (2009)
Manavski, S.A.: CUDA compatible GPU as an efficient hardware accelerator for AES cryptography. In: International Conference on Signal Processing and Communications, ICSPC 2007, pp. 65–68. IEEE (2008)
Margara, P.: engine-cuda (2011), http://code.google.com/p/engine-cuda/ (accessed April 25, 2012)
Matsui, M., Nakajima, J., Moriai, S.: A Description of the Camellia Encryption Algorithm. RFC 3713 (Informational) (April 2004)
Mei, C., Jiang, H., Jenness, J.: CUDA-based AES parallelization with fine-tuned GPU memory utilization. In: IPDPS Workshops 2010, pp. 1–7 (2010)
Milo, F., Bernaschi, M., Bisson, M.: A fast, GPU based, dictionary attack to OpenPGP secret keyrings. Journal of Systems and Software 84(12), 2088–2096 (2011)
Nazlee, A.M., Hussin, F.A., Ali, N.B.Z.: Serpent encryption algorithm implementation on Compute Unified Device Architecture (CUDA). In: IEEE Student Conference on Research and Development (SCOReD), 2009, pp. 164–167. IEEE (2010)
NIST. Advanced Encryption Standard (AES). National Institute of Standards and Technology (2001)
Noer, D., Engsig-Karup, A., Zenner, E.: Improved Software Implementation of DES Using CUDA and OpenCL
OpenSSL. OpenSSL: The Open Source toolkit for SSL/TLS (2011), http://www.openssl.org/ (accessed April 25, 2012)
Schneier, B.: Description of a New Variable-Length Key, 64-Bit Block Cipher (Blowfish). In: Anderson, R. (ed.) FSE 1993. LNCS, vol. 809, pp. 191–204. Springer, Heidelberg (1994)
Sun, W.: kgpu: Augmenting Linux with the GPU (2011), http://code.google.com/p/kgpu/ (accessed April 25, 2012)
Yamanouchi, T.: AES encryption and decryption on the GPU. In: Nguyen, H. (ed.) GPU Gems 3, ch. 36. Addison Wesley Professional (August 2007)
Yang, J., Goodman, J.: Symmetric Key Cryptography on Modern Graphics Hardware. In: Kurosawa, K. (ed.) ASIACRYPT 2007. LNCS, vol. 4833, pp. 249–264. Springer, Heidelberg (2007)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Gilger, J., Barnickel, J., Meyer, U. (2012). GPU-Acceleration of Block Ciphers in the OpenSSL Cryptographic Library. In: Gollmann, D., Freiling, F.C. (eds) Information Security. ISC 2012. Lecture Notes in Computer Science, vol 7483. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-33383-5_21
Download citation
DOI: https://doi.org/10.1007/978-3-642-33383-5_21
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-33382-8
Online ISBN: 978-3-642-33383-5
eBook Packages: Computer ScienceComputer Science (R0)