Key points
- Memory cost, iterations, and parallelism are security parameters.
- A unique salt prevents identical passwords from producing identical outputs.
- Parameters should be benchmarked on the weakest supported client and revisited over time.
- Argon2id slows guessing; it cannot add entropy that a weak password does not have.
Why memory hardness matters
Attackers can test stolen password verifiers with specialized parallel hardware. A memory-hard function raises the resource cost per guess and makes massive parallel guessing less economical than a fast general-purpose hash would. [1]
Argon2id combines data-independent and data-dependent memory access. RFC 9106 recommends Argon2id as the default variant when the side-channel environment is uncertain or both tradeoff and side-channel resistance matter. [1]
Parameters are part of the security decision
Memory size controls the working set, time cost controls passes, and parallelism controls lanes. A deployment should select values that are tolerable for legitimate users on supported devices while expensive at attack scale. Stored parameters allow later upgrades.
Mobile and browser clients make this a product decision as well as a cryptographic one. An excessive setting causes timeouts or crashes; a tiny setting offers little resistance. Benchmarking is more reliable than copying a single number without context.
Password hardening is one layer
Argon2id does not stop phishing, credential stuffing, keylogging, or online guessing. Unique passwords, password managers, MFA, rate limiting, and secure authentication protocols address different parts of the problem.
Common questions.
Is Argon2id encryption?
No. It is a password hashing and password-based key derivation function.
Why not use SHA-256 for passwords?
SHA-256 is intentionally fast. Password verification benefits from a tunable, memory-hard function that makes each attacker guess more expensive.
Does a salt need to be secret?
No. A salt should be unique and stored with the password record. Its main purpose is to prevent precomputation and identical outputs for identical passwords.
Primary sources
Definitions prefer standards bodies, government guidance, and the first-party SealTask architecture. Links open the complete source.
- 01 RFC 9106: Argon2 Memory-Hard Function Argon2 variants, parameter choices, and security considerations.
- 02 SealTask security architecture Product-specific encryption boundary, server visibility, protocols, and current limitations.