An Analytical Approach to the Design of Parallel Block Cipher Encryption/Decryption: A CPU/GPU Case Study

GPUs are at the fore-front of a radical transformation that is taking place in software design. The ability to process multiple data streams simultaneously is delivering substantial benefits to a large collection of domains. Depending on the application, these benefits can be expanded by utilizing the not-insignificant power of traditional CPUs. Multi-core CPUs with a hierarchy of large and fast caches, can provide significant performance especially if data transfers dominate execution time, or branching does not allow for the uninterrupted execution on all GPU cores. In this paper we present an analytical framework that can be used to optimally consolidate CPU and GPU resources for the encryption/decryption of block ciphers such as AES. A rigorous set of experiments concludes the paper, showcasing the benefits and overall characteristics of the proposed framework. Our tests also bring to the surface important aspects of GPU operation that have to be taken into consideration upon the design of any successful scheduling scheme involving GPUs as a system component.

[1]  S.A. Manavski,et al.  CUDA Compatible GPU as an Efficient Hardware Accelerator for AES Cryptography , 2007, 2007 IEEE International Conference on Signal Processing and Communications.

[2]  Kelly L. Dempski,et al.  Implementation of Advanced Encryption Standard for encryption and decryption of images and text on a GPU , 2008, 2008 IEEE Computer Society Conference on Computer Vision and Pattern Recognition Workshops.

[3]  Kevin Skadron,et al.  A performance study of general-purpose applications on graphics processors using CUDA , 2008, J. Parallel Distributed Comput..

[4]  Gerassimos D. Barlas An Analytical Approach to Optimizing Parallel Image Registration/Retrieval , 2010, IEEE Transactions on Parallel and Distributed Systems.

[5]  Moti Yung,et al.  High-Speed Implementations of Block Cipher ARIA Using Graphics Processing Units , 2008, 2008 International Conference on Multimedia and Ubiquitous Engineering (mue 2008).

[6]  T.G. Robertazzi,et al.  Scheduling nonlinear computational loads , 2008, IEEE Transactions on Aerospace and Electronic Systems.

[7]  Debasish Ghose,et al.  Scheduling Divisible Loads in Parallel and Distributed Systems , 1996 .

[8]  Sergey Ilyin,et al.  GOST-28147 Encryption Implementation on Graphics Processing Units , 2008, 2008 Third International Conference on Availability, Reliability and Security.