NEW
Memory-hard password hashing function designed to resist GPU and ASIC cracking via tunable time and memory costs.
DESCRIPTION
Argon2 is a state-of-the-art memory-hard function used for secure password hashing and key derivation. It won the Password Hashing Competition and has variants (Argon2d, Argon2i, Argon2id) balancing side-channel resistance and GPU/ASIC resistance. Implementations allow tuning memory size, iterations, and parallelism to meet security and performance targets. Standardized by the IETF, it is widely available in libraries such as libsodium and cryptography frameworks. Argon2id is generally recommended for password storage in modern systems.
ALTERNATIVE DEFINITIONS
Wikipedia
Argon2 is a key derivation function that was selected as the winner of the Password Hashing Competition in July 2015.
Notes PHC pedigree and frames Argon2 as a KDF.
IETF
This document describes the Argon2 memory-hard function for password hashing and proof-of-work applications.
Standards-track description emphasizing memory-hardness and use cases.
RELATED TERMS
Password Hashing Key Derivation Function Argon2id Salting Pepper Brute-Force Attack Memory-Hard Function
COMPETING TERMS
bcrypt scrypt Password-Based Key Derivation Function 2
RELATIONS
- Broader: Key Derivation Function Password Hashing
KNOWLEDGE AREAS
Data Security Software Engineering Infrastructure Data Privacy & Compliance
TARGET AUDIENCE
Cybersecurity Engineer Security Architect Chief Information Security Officer Software Developer DevOps Engineer IT Auditor
EXTERNAL SOURCES
- Wikipedia - Argon2
- IETF - Argon2 standard specification
- Libsodium - Libsodium Argon2 password hashing
- OWASP - Guidance on secure password hashing
TOP QUESTIONS
Why choose Argon2 over bcrypt or PBKDF2?
Argon2 is memory-hard, making GPU/ASIC attacks far costlier. It offers tunable parameters and standardized guidance via RFC 9106.
Category: Comparison
Which variant of Argon2 should I use?
Argon2id is generally recommended for password storage, combining resistance to side-channel and GPU attacks.
Category: Best practices
How do I configure Argon2 securely?
Tune memory, iterations, and parallelism based on hardware and latency budgets; follow contemporary OWASP recommendations.
Category: Requirements
Does Argon2 replace salting?
No. Always use unique salts; Argon2 complements salts by adding memory-hard computation.
Category: Misunderstanding
What is the risk of misconfiguring Argon2?
Too-low memory or iterations weakens security, enabling faster cracking. Regularly reassess parameters as hardware evolves.
Category: Risk
Is Argon2 suitable for mobile or serverless environments?
Yes, but resource constraints require careful tuning to balance security and performance across form factors.
Category: Opinion
How does Argon2 defend against GPUs?
Its memory-hard design increases memory bandwidth requirements, bottlenecking massively parallel hardware.
Category: Definition
Can Argon2 be used for key derivation beyond passwords?
Yes, it can derive keys from passphrases for encryption, with appropriate parameter choices and context separation.
Category: Example
What’s a hot topic around Argon2 adoption?
Broad support in major libraries and frameworks, and guidance converging on Argon2id as a default.
Category: Topic