Skip to content

Argon2

Argon2 is a family of memory-intensive password hash functions. The variant, memory use and runtime must suit security and operational requirements.

IT security

Verify passwords with computational effort

Argon2 is a family of password hash functions deliberately requiring memory and computing time. This makes large-scale guessing against stolen password hashes more expensive. OWASP recommends the Argon2id variant for new password storage. A weak password can still be found by suitable guesses.

A fictional application stores a verification record produced by its library: the variant, parameters, salt and derived verification value. At sign-in, the library uses these details to check the entered password. It does not decrypt the original password from the stored value.

Treat parameters as an operational decision

The m parameter describes the configured total memory in kibibytes, t the number of passes and p the parallel computation lanes. The parallelism value is not an additional multiplier of the configured total memory. The actual time and memory consumed by an invocation must be investigated on the intended platform.

The team selects settings using current security guidance and measurements with the expected number of simultaneous sign-ins. Greater effort also makes legitimate password verification more expensive; if this overloads the server, availability suffers. An arbitrary default copied from an example does not replace that decision. The salt and parameters remain available alongside the verification value so that later sign-ins can be checked correctly.

Sources