journal article·2023-08-16Open access

Optimized Implementation of Argon2 Utilizing the Graphics Processing Unit

Siwoo Eum, Hyunjun Kim, Minho Song, Hwajeong Seo

Applied Sciences· Volume 13· Issue 16

Abstract

In modern information technology systems, secure storage and transmission of personal and sensitive data are recognized as important tasks. These requirements are achieved through secure and robust encryption methods. Argon2 is an advanced cryptographic algorithm that emerged as the winner in the Password Hashing Competition (PHC), offering a concrete and secure measure. Argon2 also provides a secure mechanism against side-channel attacks and cracking attacks using parallel processing (e.g., GPU). In this paper, we analyze the existing GPU-based implementation of the Argon2 algorithm and further optimize the implementation by improving the performance of the hashing function during the computation process. The proposed method focuses on enhancing performance by distributing tasks between CPU and GPU units, reducing the data transfer cost for efficient GPU-based parallel processing. By shifting several stages from the CPU to the GPU, the data transfer cost is significantly reduced, resulting in faster processing times, particularly when handling a larger number of passwords and higher levels of parallelism. Additionally, we optimize the utilization of the GPU’s shared memory, which enhances memory access speed, especially in the computation of the hash value generation process. Furthermore, we leverage the parallel processing capabilities of the GPU to perform efficient brute-force attacks. By computing the H function on the GPU, the proposed implementation can generate initial blocks for multiple inputs in a single operation, making brute-force attacks in an efficient way. The proposed implementation outperforms existing methods, especially when processing a larger number of passwords and operating at higher levels of parallelism.
Source: crossref · Quality: baseline

Research context

OpenAlex topics: Cryptographic Implementations and Security · Chaos-based Image/Signal Encryption · Security and Verification in Computing

SciVX discovery tags are terminology-based. OpenAlex topics are source-provided classifications.

Affiliations

Division of IT Convergence Engineering, Hansung University, Seoul 02876, Republic of Korea

Funding

Korea government (MSIT)

References (18)

Show source-provided references
1. On the Performance of Cracking Hash Function SHA-1 Using Cloud and GPU Computing10.1007/s11277-019-06575-9 ↗
2. Alkhwaja, I., Albugami, M., Alkhwaja, A., Alghamdi, M., Abahussain, H., Alfawaz, F., Almurayh, A., and Min-Allah, N. (2023). Password Cracking with Brute Force Algorithm and Dictionary Attack Using Parallel Programming. Appl. Sci., 13.10.3390/app13105979 ↗
3. Distributed password cracking with BOINC and hashcat10.1016/j.diin.2019.08.001 ↗
4. Hatzivasilis, G., Papaefstathiou, I., and Manifavas, C. (2023, July 08). Password hashing competition-survey and benchmark. Available online: https://eprint.iacr.org/2015/265.
5. Wetzels, J. (2016). Open sesame: The password hashing competition and Argon2. arXiv.
6. Biryukov, A., Dinu, D., and Khovratovich, D. (2016, January 21–24). Argon2: New generation of memory-hard functions for password hashing and other applications. Proceedings of the 2016 IEEE European Symposium on Security and Privacy (EuroS&P), Saarbrucken, Germany.10.1109/EuroSP.2016.31 ↗
7. Kumar, H., Kumar, S., Joseph, R., Kumar, D., Singh, S.K.S., Kumar, A., and Kumar, P. (2013, January 11–12). Rainbow table to crack password using MD5 hashing algorithm. Proceedings of the 2013 IEEE Conference on Information & Communication Technologies, Thuckalay, India.10.1109/CICT.2013.6558135 ↗
8. Provos, N., and Mazieres, D. (1999). Bcrypt Algorithm, USENIX. Available online: https://www.usenix.org/legacy/events/usenix99/provos/provos_html/node5.html.
9. Percival, C., and Simon, J. (2023, July 11). The Scrypt Password-Based Key Derivation Function. Available online: https://www.rfc-editor.org/rfc/rfc7914?trk=public_post_comment-text.
10. Moriarty, K., Kaliski, B., and Rusch, A. (2023, July 16). Pkcs# 5: Password-Based Cryptography Specification Version 2.1. Available online: https://www.rfc-editor.org/info/rfc8018.
11. Ertaul, L., Kaur, M., and Gudise, V.A.K.R. (2023, July 21). Implementation and performance analysis of pbkdf2, bcrypt, scrypt algorithms. Available online: http://mcs.csueastbay.edu/~lertaul/PBKDFBCRYPTCAMREADYICWN16.pdf.
13. Fast implementation of SHA-3 in GPU environment10.1109/ACCESS.2021.3122466 ↗
14. Acceleration of AES encryption on CUDA GPU
15. (2022, July 11). CUDA C Programming Guide V6.0. Available online: https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html.
16. (2023, July 01). GPU Is Unfriendly for WebDollar-argon2-gpu for WebDollar. Available online: https://github.com/WebDollar/argon2-gpu.
17. Chen, L., and Agrawal, G. (July, January 27). Optimizing mapreduce for gpus with effective shared memory usage. Proceedings of the 21st International Symposium on High-Performance Parallel and Distributed Computing, Minneapolis, MN, USA.
18. Benchmarking the GPU memory at the warp level10.1016/j.parco.2017.11.003 ↗