Graph
Argon2

🔐Argon2

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.

Source

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.

Source

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

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