Performance and Security Evaluation of RSA Cryptosystem Implementations on Different Hardware Configurations

Authors

DOI:

https://doi.org/10.5753/reic.2026.6758

Keywords:

Performance analysis, Asymmetric cryptography, Programming languages

Abstract

RSA remains one of the central cryptographic systems for securing data and systems. This study evaluates implementations of the RSA algorithm across various programming languages and libraries, including C, C++, Java, JavaScript, Python, and Rust. The experiments assessed the performance of key generation, encryption, and decryption operations in two distinct environments: a high-performance setting and another with hardware and memory constraints. Implementations in Rust, C, C++, and Python exhibited lower execution times overall. Analysis of data structures revealed similar patterns across languages, while memory dumps identified fragments of private keys in several implementations, with full key recovery observed in JavaScript implementations. The results provide practical guidance for performance and security considerations in RSA implementations.

Descargas

Los datos de descargas todavía no están disponibles.

Citas

Afrose, S., Rahaman, S., and Yao, D. (2019). Cryptoapibench: A comprehensive benchmark on java cryptographic api misuses. In 2019 IEEE Cybersecurity Development (SecDev), pages 49–61. DOI: 10.1109/SecDev.2019.00017.

Alzaher, R., Hantom, W., Aldweesh, A., and Allah, N. M. (2022). Parallelizing multi-keys rsa encryption algorithm using openmp. In 2022 14th International Conference on Computational Intelligence and Communication Networks (CICN), pages 778–782. DOI: 10.1109/CICN56167.2022.10008237.

Botan (2025). Botan: Crypto and tls for modern c++. Disponível em: [link]. Acesso em: 21 jan. 2025.

Bouncy Castle (2013). The legion of the bouncy castle. Disponível em: [link]. Acesso em: 12 mar. 2024.

Cargo Bench (2025). Compile and execute benchmarks. Disponível em: [link]. Acesso em: 25 jan. 2025.

Crypto++ (2023). Crypto++ library. Disponível em: [link]. Acesso em: 12 mar. 2024.

Crypto (2025). Crypto. Disponível em: [link]. Acesso em: 21 jan. 2025.

Cryptography (2024). Pyca/cryptography. Disponível em: [link]. Acesso em: 12 mar. 2024.

Dalal, Y. M., S, S., K, A., Satheesha, T. Y., PN, A., and Somanath, S. (2024). Optimizing security: A comparative analysis of rsa, ecc, and dh algorithms. In 2024 IEEE North Karnataka Subsection Flagship International Conference (NKCon), pages 1–6. DOI: 10.1109/NKCon62728.2024.10775183.

Forge (2024). A native implementation of tls in javascript and tools to write crypto-based and network-heavy webapps. Disponível em: [link]. Acesso em: 08 ago. 2024.

Google Benchmark (2025). A library to benchmark code snippets, similar to unit tests. Disponível em: [link]. Acesso em: 25 jan. 2025.

Halderman, J. A., Schoen, S. D., Heninger, N., Clarkson, W., Paul, W., Calandrino, J. A., Feldman, A. J., Appelbaum, J., and Felten, E. W. (2009). Lest we remember: cold-boot attacks on encryption keys. Commun. ACM, 52(5):91–98. DOI: 10.1145/1506409.1506429.

Imam, R., Areeb, Q. M., Alturki, A., and Anwer, F. (2021). Systematic and critical review of rsa based public key cryptographic schemes: Past and present status. IEEE Access, 9:155949–155976. DOI: 10.1109/ACCESS.2021.3129224.

Islam, M., Islam, M., Islam, N., and Shabnam, B. (2018). A modified and secured rsa public key cryptosystem based on “n” prime numbers. Journal of Computer and Communications, 6:78–90. DOI: 10.4236/jcc.2018.63006.

Java Cryptography (2025). Java cryptography architecture standard algorithm name documentation for jdk 8. Disponível em: [link]. Acesso em: 21 jan. 2025.

Jintcharadze, E. and Abashidze, M. (2023). Performance and comparative analysis of elliptic curve cryptography and rsa. In 2023 IEEE East-West Design & Test Symposium (EWDTS), pages 1–4. DOI: 10.1109/EWDTS59469.2023.10297088.

JMH (2025). Jmh is a java harness for building, running, and analysing nano/micro/milli/macro benchmarks written in java and other languages targeting the jvm. Disponível em: [link]. Acesso em: 25 jan. 2025.

Libgcrypt (2023). Libgcrypt documentation. Disponível em: [link]. Acesso em: 19 mar. 2024.

Maalavika, S., Thangavel, G., and Basheer, S. (2024). Performance evaluation of rsa type of algorithm with cuckoo optimized technique. In 2024 IEEE International Conference on Computing, Power and Communication Technologies (IC2PCT), volume 5, pages 1362–1367. DOI: 10.1109/IC2PCT60090.2024.10486350.

OpenSSL (2024). Openssl - cryptography and ssl/tls toolkit. Disponível em: [link]. Acesso em: 12 mar. 2024.

PyCryptodome (2024). Pycryptodome documentation. Disponível em: [link]. Acesso em: 19 mar. 2024.

PYPL (2024). Pypl - popularity of programming language. Disponível em: [link]. Acesso em: 27 jun. 2024.

Pytest (2025). Pytest: helps you write better programs. Disponível em: [link]. Acesso em: 25 jan. 2025.

Rivest, R. L., Shamir, A., and Adleman, L. (1978). A method for obtaining digital signatures and public-key cryptosystems. Commun. ACM, 21(2):120–126. DOI: 10.1145/359340.359342.

Rosa, A., Campiolo, R., and Batista, D. (2025). Avaliação de desempenho e segurança de diferentes implementações do sistema de criptografia rsa. In Anais Estendidos do XXV Simpósio Brasileiro de Cibersegurança, pages 180–191, Porto Alegre, RS, Brasil. SBC. DOI: 10.5753/sbseg_estendido.2025.11863.

Rust Crypto (2024). Cryptographic algorithms written in pure rust. Disponível em: [link]. Acesso em: 19 mar. 2024.

Rust OpenSSL (2025). Openssl bindings for the rust programming language. Disponível em: [link]. Acesso em: 21 jan. 2025.

Stallings, W. (2008). Cryptography and Network Security: Principles and Practice. Prentice Hall, Upper Saddle River, NJ, 5 edition.

TIOBE (2024). Tiobe index - the software quality company. Disponível em: [link]. Acesso em: 27 jun. 2024.

Descargas

Published

2026-01-30

Cómo citar

Rosa, A. C. Q., Campiolo, R., & Batista, D. M. (2026). Performance and Security Evaluation of RSA Cryptosystem Implementations on Different Hardware Configurations. Revista Electrónica De Iniciación Científica En Computación, 24(1), 39–47. https://doi.org/10.5753/reic.2026.6758

Issue

Section

Artículos