Optimized Implementation of Argon2 Utilizing the Graphics Processing Unit

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 Pa...

Full description

Bibliographic Details
Main Authors: Siwoo Eum, Hyunjun Kim, Minho Song, Hwajeong Seo
Format: Article
Language:English
Published: MDPI AG 2023-08-01
Series:Applied Sciences
Subjects:
Online Access:https://www.mdpi.com/2076-3417/13/16/9295
_version_ 1797585649305387008
author Siwoo Eum
Hyunjun Kim
Minho Song
Hwajeong Seo
author_facet Siwoo Eum
Hyunjun Kim
Minho Song
Hwajeong Seo
author_sort Siwoo Eum
collection DOAJ
description 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.
first_indexed 2024-03-11T00:10:05Z
format Article
id doaj.art-f15f161f97f14408b30893e593a995b1
institution Directory Open Access Journal
issn 2076-3417
language English
last_indexed 2024-03-11T00:10:05Z
publishDate 2023-08-01
publisher MDPI AG
record_format Article
series Applied Sciences
spelling doaj.art-f15f161f97f14408b30893e593a995b12023-11-19T00:07:31ZengMDPI AGApplied Sciences2076-34172023-08-011316929510.3390/app13169295Optimized Implementation of Argon2 Utilizing the Graphics Processing UnitSiwoo Eum0Hyunjun Kim1Minho Song2Hwajeong Seo3Division of IT Convergence Engineering, Hansung University, Seoul 02876, Republic of KoreaDivision of IT Convergence Engineering, Hansung University, Seoul 02876, Republic of KoreaDivision of IT Convergence Engineering, Hansung University, Seoul 02876, Republic of KoreaDivision of IT Convergence Engineering, Hansung University, Seoul 02876, Republic of KoreaIn 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.https://www.mdpi.com/2076-3417/13/16/9295Argon2password hash functionGPUoptimized implementationcracking
spellingShingle Siwoo Eum
Hyunjun Kim
Minho Song
Hwajeong Seo
Optimized Implementation of Argon2 Utilizing the Graphics Processing Unit
Applied Sciences
Argon2
password hash function
GPU
optimized implementation
cracking
title Optimized Implementation of Argon2 Utilizing the Graphics Processing Unit
title_full Optimized Implementation of Argon2 Utilizing the Graphics Processing Unit
title_fullStr Optimized Implementation of Argon2 Utilizing the Graphics Processing Unit
title_full_unstemmed Optimized Implementation of Argon2 Utilizing the Graphics Processing Unit
title_short Optimized Implementation of Argon2 Utilizing the Graphics Processing Unit
title_sort optimized implementation of argon2 utilizing the graphics processing unit
topic Argon2
password hash function
GPU
optimized implementation
cracking
url https://www.mdpi.com/2076-3417/13/16/9295
work_keys_str_mv AT siwooeum optimizedimplementationofargon2utilizingthegraphicsprocessingunit
AT hyunjunkim optimizedimplementationofargon2utilizingthegraphicsprocessingunit
AT minhosong optimizedimplementationofargon2utilizingthegraphicsprocessingunit
AT hwajeongseo optimizedimplementationofargon2utilizingthegraphicsprocessingunit