GSEC Access Control and Password Management Practice Question
A security engineer is designing a password hashing scheme for a new application. The scheme must be resistant to GPU-accelerated cracking and allow for tuning of CPU and memory costs. Which hashing algorithm should the engineer choose?
⚠ Common exam trap
The trap here is assuming that any slow hashing algorithm like bcrypt or PBKDF2 is sufficient, overlooking the specific requirement for tunable memory costs that only Argon2 provides.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Argon2
Argon2 is specifically designed to be memory-hard and CPU-hard, with tunable parameters for time, memory, and parallelism. This makes it resistant to GPU-accelerated cracking and allows customization for different environments. bcrypt and PBKDF2 lack memory tuning, and SHA-256 is too fast. Therefore, Argon2 is the correct choice for the password hashing scheme.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✓
Argon2
Why this is correct
Argon2 is the winner of the Password Hashing Competition and is designed to resist GPU cracking. It allows tuning of time cost (CPU), memory cost, and parallelism. This makes it highly adaptable to different hardware and security requirements. The scenario explicitly requires tuning of CPU and memory costs and resistance to GPU attacks, which Argon2 delivers. It is the recommended choice for new applications.
- ✗
PBKDF2
Why it's wrong here
PBKDF2 applies a pseudorandom function (like HMAC-SHA256) many times to derive a key. It allows tuning of iteration count (CPU cost) but does not have a memory cost parameter. This makes it less resistant to GPU attacks compared to memory-hard functions. The requirement for tuning memory costs is not satisfied by PBKDF2, so it is not the optimal choice.
- ✗
bcrypt
Why it's wrong here
bcrypt is a password hashing function based on the Blowfish cipher. It includes a cost factor that adjusts CPU time, making it resistant to brute-force attacks. However, bcrypt does not allow tuning of memory costs; it is primarily CPU-hard. The scenario requires tuning of both CPU and memory costs, which bcrypt does not provide. Therefore, it is not the best fit.
- ✗
SHA-256 with a random salt
Why it's wrong here
SHA-256 is a fast cryptographic hash. Adding a salt prevents rainbow table attacks but does not slow down brute-force attempts. GPUs can compute SHA-256 hashes at extremely high rates, making it unsuitable for password storage. The requirement for resistance to GPU-accelerated cracking and tunable CPU/memory costs is not met by SHA-256, even with salting.
About these practice questions
This GSEC question is part of Courseiva's 351-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →
JA
Written and reviewed by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
Last reviewed September 2026 · checked against the official GIAC exam blueprint
This GSEC practice question is part of Courseiva's free GIAC certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the GSEC exam.