Parallel Modulus Operations in RSA Encryption by CPU/GPU Hybrid Computation
This research mainly proposes a method to resolve the bottleneck of running RSA encryption algorithms on CPUs. The RSA encryption algorithm involves with the operation of large numbers. Accompanied by the enhancement of the hardware performance of computers, the RSA key length is increased for providing substantial security. To crack RSA encryption, methods based on factoring of large prime numbers are currently in use, in which GPU parallel techniques have been utilized to speed up factorization of prime numbers in recent years. However, most RSA encryptions are still performed on CPUs. To deal with the increasing speed of cracking through high speed GPU operations, the RSA key length continues to increase and so does the cost of RSA encryption. Presently many researches of RSA encryptions are based on the Montgomery algorithm, in which operations of modular multiplication are parallelized to enhance the performance, however, modulus operations are still performed on the single core CPU. In addition to use the Montgomery algorithm on CPUs to accelerate the RSA encryption algorithm, we also exploit the convolution property of the Fast Fourier Transform and the convergence of the Newton's method. As a result, cooperative heterogeneous computing for parallel processing on CPU/GPU hybrids is used to greatly enhance the encryption performance.