Argon2 is a key derivation function designed by Alex Biryukov, Daniel Dinu, and Dmitry Khovratovich from the University of Luxembourg. Argon2 was the winner of the Password Hashing Competition in 2015, an initiative started by Jean-Philippe Aumasson.

There are three variants of Argon2: Argon2i, Argon2d, and Argon2id. Argon2i is optimised to protect against against side-channel attacks, such as timing attacks. Argon2d is optimised to protect against highly parallelised cracking attacks such as GPUs, FPGAs, and ASICs. Argon2id is a mixture of both algorithms which uses the Argon2i strategy for the first half pass over memory, and then Argon2d for the remaining passes.

Details about the specification can be found in IETF RFC 9106 https://datatracker.ietf.org/doc/rfc9106/.