Performance Analysis of Efficient RSA Text Encryption Using NVIDIA CUDA-C and OpenCL

Sonam Mahajan, Maninder Singh · 2014

Computer security relies on cryptography as a means to protect the data that we people have become increasingly reliant on. The main research in computer security domain is how to enhance the speed of RSA algorithm. The computing capability of Graphic Processing Unit as a co-processor of the CPU can leverage massive-parallelism. CUDA and OpenCL are the two programming interfaces used for this purpose. CUDA is specific to NVIDIA GPU's and OpenCL provides a portable language that can program CPU, GPU and other devices from different vendors too. This paper presents RSA algorithm as a source for comparing the performance of CUDA and OpenCL. First the traditional algorithm is studied. Secondly, the parallelized RSA algorithm is designed for both Nvidia CUDA and OpenCL framework. Thirdly, the designed algorithm is realized for small and large prime numbers on CUDA, OpenCL and C and performance gap is concluded. So, the main fundamental problem of RSA algorithm such as speed and use of poor or small prime numbers resulting in significant security holes, despite the RSA algorithm's mathematical soundness can be alleviated by GPU programming. Decision depends which programming interface is to use depending upon the various factors such as prior familiarity with the existing system, availability of development tools to target the GPU hardware, performance and portable programming language.

Read the paper · More papers on PaperTik