An enhanced parallel version of RSA public key crypto based algorithm using openMP

Due to increased data movement and information exchange over internet and web, preserving data confidentiality and security has emerged as a prime concern for the end users. From bank transactions to document verification portals, from government official websites to social media, all these platforms share data remotely over web which contains certain confidential information and thus uses security mechanisms based on cryptographic algorithm to preserve the confidentiality of data preventing any information leakage or breach. RSA being the most popular public key cryptography based algorithm uses data encryption and decryption technique. It uses the mathematical concept of factorization of prime integers. The efficiency of the algorithm in terms of enhancing the security aspect to guess the factors of prime numbers increase when the numbers have high powers. Computing prime factors of these large numbers is compute intensive task where the serial programming makes RSA algorithm to slow down. The paper here presents an OpenMP based algorithmic modification to the code of RSA algorithm to improve the execution time using the parallel processing power of modern day multi-core architecture based machines. Experimental results under the lights of graphical representation shows a considerable speed up gained over the traditional implementation. Further the paper also compares the efficiency with other parallel implementations of RSA algorithm where the reported algorithm is found to perform almost equivalent to the GPGPU based implementation without the need of extra hardware in the form of graphics card and with reduced power consumption of the machine. The paper sums up with a conclusion that GPU based acceleration can be clubbed with proposed method to generate factors severely large prime numbers making it highly difficult to guess the factors.

[1]  Laurent Imbert,et al.  a full RNS implementation of RSA , 2004, IEEE Transactions on Computers.

[2]  Maninder Singh,et al.  Analysis of RSA algorithm using GPU programming , 2014, ArXiv.

[3]  Alfred Menezes,et al.  Handbook of Applied Cryptography , 2018 .

[4]  Philip Heng Wai Leong,et al.  Modular exponentiation using parallel multipliers , 2003, Proceedings. 2003 IEEE International Conference on Field-Programmable Technology (FPT) (IEEE Cat. No.03EX798).

[5]  Qiang Liu,et al.  A regular parallel RSA processor , 2004, The 2004 47th Midwest Symposium on Circuits and Systems, 2004. MWSCAS '04..

[6]  Der-Chyuan Lou,et al.  Fast Parallel Exponentiation Algorithm for RSA Public-Key Cryptosystem , 2006, Informatica.

[7]  Norafida Ithnin,et al.  Parallel RSA encryption based on tree architecture , 2013 .

[8]  Whitfield Diffie,et al.  New Directions in Cryptography , 1976, IEEE Trans. Inf. Theory.

[9]  Minyi Guo,et al.  Fast parallel molecular algorithms for DNA-based computation: factoring integers , 2004, Proceedings. Fourth IEEE Symposium on Bioinformatics and Bioengineering.

[10]  Eric Peeters,et al.  Parallel FPGA implementation of RSA with residue number systems - can side-channel threats be avoided? , 2003, 2003 46th Midwest Symposium on Circuits and Systems.

[11]  Chuan Yi Tang,et al.  Parallel Shellsort Algorithm for Many-Core GPUs with CUDA , 2012, Int. J. Grid High Perform. Comput..

[12]  Monika Jain,et al.  A review of load flow and network reconfiguration techniques with their enhancement for radial distribution network , 2016, 2016 Fourth International Conference on Parallel, Distributed and Grid Computing (PDGC).

[13]  Hong Zhang,et al.  Comparison and Analysis of GPGPU and Parallel Computing on Multi-Core CPU , 2012 .

[14]  Rohit Chandra,et al.  Parallel programming in openMP , 2000 .

[15]  Adi Shamir,et al.  A method for obtaining digital signatures and public-key cryptosystems , 1978, CACM.

[16]  A Parallel Signcryption Standard using RSA with PSEP Anshuman Rawat and , 2005 .

[17]  Chun-Yuan Lin,et al.  Efficient Parallel RSA Decryption Algorithm for Many-core GPUs with CUDA , 2012 .