CFP last date
20 December 2024
Reseach Article

Enhancing the Time Complexity of Mathematically Intensive Algorithms; the Case of Cryptography

by Paul K. Arhin Jnr, Michael Asante, Linda Otoo
International Journal of Computer Applications
Foundation of Computer Science (FCS), NY, USA
Volume 185 - Number 8
Year of Publication: 2023
Authors: Paul K. Arhin Jnr, Michael Asante, Linda Otoo
10.5120/ijca2023922736

Paul K. Arhin Jnr, Michael Asante, Linda Otoo . Enhancing the Time Complexity of Mathematically Intensive Algorithms; the Case of Cryptography. International Journal of Computer Applications. 185, 8 ( May 2023), 22-26. DOI=10.5120/ijca2023922736

@article{ 10.5120/ijca2023922736,
author = { Paul K. Arhin Jnr, Michael Asante, Linda Otoo },
title = { Enhancing the Time Complexity of Mathematically Intensive Algorithms; the Case of Cryptography },
journal = { International Journal of Computer Applications },
issue_date = { May 2023 },
volume = { 185 },
number = { 8 },
month = { May },
year = { 2023 },
issn = { 0975-8887 },
pages = { 22-26 },
numpages = {9},
url = { https://ijcaonline.org/archives/volume185/number8/32722-2023922736/ },
doi = { 10.5120/ijca2023922736 },
publisher = {Foundation of Computer Science (FCS), NY, USA},
address = {New York, USA}
}
%0 Journal Article
%1 2024-02-07T01:25:35.693124+05:30
%A Paul K. Arhin Jnr
%A Michael Asante
%A Linda Otoo
%T Enhancing the Time Complexity of Mathematically Intensive Algorithms; the Case of Cryptography
%J International Journal of Computer Applications
%@ 0975-8887
%V 185
%N 8
%P 22-26
%D 2023
%I Foundation of Computer Science (FCS), NY, USA
Abstract

This article aims to compare the performance of the RSA encryption algorithm on two different hardware architectures, namely a CPU and a GPU CUDA. The RSA encryption algorithm is widely used for secure data storage and transmission. The algorithm requires complex mathematical processes that can be computationally demanding and can take significant time to execute, particularly for keys with larger sizes. In this paper, A parallelization technique is proposed in this article, which leverages the capabilities of GPUs to speed up the RSA algorithm. The research is done by experiment using different key sizes to measure the performance of RSA on both platforms; CPU and GPU. The proposed approach involves the parallelization of the most computationally intensive parts of the RSA Algorithm, including modular exponentiation and multiplication. GPU implementation of the RSA algorithm is done using CUDA, a programming model developed by NVIDIA for parallel computing on GPUs. The experimental results show the effectiveness of using GPUs to accelerate the RSA algorithm thus resulting in a faster and more efficient cryptographic solutions. This has significant implications for real-world applications, especially those that are mathematically intensive and demand secure and effective data transmission, like e-commerce, banking, and other financial services.

References
  1. Rivest, R. L., Shamir, A., & Adleman, L. M. (1978). A method for obtaining digital signatures and public-key cryptosystems. Communications of the ACM, 21(2), 120-126
  2. Dullweber, M., Schoppmann, P., Rechberger, C., & Schrammel, P. (2011). RSA on GPU: Fast factorization and secure implementation. In International Conference on Selected Areas in Cryptography (pp. 205-222). Springer, Berlin, Heidelberg.
  3. Ananthakrishnan, S., & Mehta, S. (2014). Implementation of RSA on CUDA platform. International Journal of Computer Applications, 93(8), 25-28.
  4. Dong, Y., Zhang, W., & Liu, X. (2017). GPU-accelerated RSA key generation and encryption. Journal of Supercomputing, 73(10), 4528-4541
  5. Liu, Y., Sun, Z., Zhang, Q., & Chen, C. (2019). A GPU-accelerated RSA cryptosystem using CUDA. IEEE Access, 7, 114330-114339
  6. Narula, R., Bonneau, J., Felten, E., Miller, A., & Goldfeder, S. (2016). Bitcoin and Cryptocurrency Technologies: A Comprehensive Introduction. Princeton University Press.
  7. Kumar, P., Srinivasan, S., & Rawat, S. (2018). A comparative study of CPU and GPU performance for RSA algorithm. International Journal of Computer Applications, 181(32), 29-33.
  8. Wang, Y., Li, H., Li, X., & Li, Z. (2019). Implementation and comparison of RSA algorithm on CPU and GPU platforms. 6th International Conference on Information Technology and Quantitative Management (ITQM).
  9. Zhang, Y., Wang, X., & Wang, Q. (2021). A comparative study of RSA algorithm performance on CPU and GPU. IEEE International Conference on Computational Science and Engineering (CSE).
  10. Shen, C., Chen, Y., & Chen, K. (2005). Implementation of RSA cryptosystem on GPU. In International Symposium on Parallel and Distributed Processing and Applications (pp. 839-844). Springer.
  11. Satoh, A., & Takano, K. (2008). Fast RSA implementation using a GPU with modified sliding-window method. In International Workshop on Cryptographic Hardware and Embedded Systems (pp. 344-360). Springer
  12. Li, X., Yang, C., & Dai, Y. (2010). A hybrid CPU-GPU implementation of RSA based on OpenCL. In International Conference on High Performance Computing and Communications (pp. 505-510). IEEE.
  13. Vaidya, S., & Jadhav, A. (2021). GPU-Based Implementation of RSA Algorithm Using Multi-Precision Arithmetic. International Journal of Computer Science and Network Security (IJCSNS), 21(2), 12-20.
  14. Yu, X., Li, M., Li, J., & Liao, X. (2020). GPU-accelerated RSA encryption algorithm based on Chinese Remainder Theorem. The Journal of Supercomputing, 76(2), 1083-1096. doi: 10.1007/s11227-019-02911-2
  15. Shoup, Victor. A Computational Introduction to Number Theory and Algebra. Cambridge University Press, 2005
  16. Crandall, Richard E., and Carl Pomerance. Prime Numbers: A Computational Perspective. Springer Science & Business Media, 2012
  17. Hankerson, Darrel, Alfred J. Menezes, and Scott Vanstone. Guide to Elliptic Curve Cryptography. Springer Science & Business Media, 2010
  18. Dwork, Cynthia, and Moni Naor. "On the Practicality of One-Way Functions." Proceedings of the Twenty-Second Annual ACM Symposium on Theory of Computing. ACM, 1990.
  19. Katz, Jonathan, and Yehuda Lindell. Introduction to Modern Cryptography. CRC Press, 2014
  20. Schneier, Bruce. Applied Cryptography: Protocols, Algorithms, and Source Code in C. Wiley, 1996.
  21. Goldwasser, Shafi, Silvio Micali, and Charles Rackoff. "The Knowledge Complexity of Interactive Proof Systems." SIAM Journal on Computing, vol. 18, no. 1, 1989, pp. 186-208
Index Terms

Computer Science
Information Sciences

Keywords

RSA CUDA GPU Cryptographic Algorithm GPU