Argon2
¿Qué es Argon2?
Argon2Función moderna de hashing de contraseñas y KDF con coste en memoria, ganadora del Password Hashing Competition 2015 y descrita en RFC 9106.
Argon2 es una función de derivación de claves y hashing de contraseñas con coste en memoria, diseñada por Biryukov, Dinu y Khovratovich, elegida como ganadora del Password Hashing Competition de 2015 y estandarizada en el RFC 9106. Tiene tres variantes: Argon2d (indexación dependiente de los datos, la más rápida, pero con patrones de acceso a memoria que dependen del secreto y por tanto se filtran por canales laterales), Argon2i (independiente de los datos, resistente a canales laterales pero más débil frente a ataques de compromiso tiempo-memoria) y la recomendada Argon2id (un híbrido que usa la indexación de Argon2i en la primera mitad de la primera pasada y la de Argon2d a partir de ahí).
Su seguridad proviene de llenar un gran bloque de memoria que debe mantenerse durante todo el cálculo. Esta dificultad en memoria es la ventaja clave frente a esquemas más antiguos: un crackeador con GPU o ASIC puede ejecutar miles de núcleos de hash baratos en paralelo, pero no puede dar de forma barata a cada núcleo cientos de mebibytes de RAM rápida, así que Argon2 eleva el coste por intento mucho más que PBKDF2 o incluso bcrypt (que usa solo ~4 KiB). Sus parámetros ajustables son el coste en memoria (m), el tiempo/iteraciones (t), el paralelismo (p) y la longitud de salida.
El RFC 9106 recomienda dos perfiles: una opción de alta memoria con m=2 GiB, t=1, p=4, y una opción con memoria limitada de m=64 MiB, t=3, p=4. La OWASP Password Storage Cheat Sheet ofrece una base conservadora para servidores web de Argon2id, m=19456 (19 MiB), t=2, p=1. Combina siempre Argon2 con un salt aleatorio único por contraseña y ajusta los parámetros a tu presupuesto de latencia.
flowchart LR P[Contraseña] --> H[Argon2id] S[Salt aleatorio único] --> H PARAMS[m coste en memoria<br/>t iteraciones<br/>p paralelismo] --> H H --> MEM[Llenar gran bloque de memoria<br/>coste en memoria] MEM --> O[Hash / clave derivada] MEM -. eleva el coste .-> GPU[Crackeo con GPU/ASIC<br/>se vuelve costoso]
● Ejemplos
- 01
Almacenar contraseñas de usuario con Argon2id usando m=64 MiB, t=3, p=1.
- 02
Derivar una clave de cifrado simétrico a partir de una passphrase en una herramienta de cifrado de disco.
● Preguntas frecuentes
¿Qué es Argon2?
Función moderna de hashing de contraseñas y KDF con coste en memoria, ganadora del Password Hashing Competition 2015 y descrita en RFC 9106. Pertenece a la categoría de Criptografía en ciberseguridad.
¿Qué significa Argon2?
Función moderna de hashing de contraseñas y KDF con coste en memoria, ganadora del Password Hashing Competition 2015 y descrita en RFC 9106.
¿Cómo defenderse de Argon2?
Las defensas contra Argon2 combinan habitualmente controles técnicos y prácticas operativas, como se detalla en la definición.
¿Cuáles son otros nombres para Argon2?
Nombres alternativos comunes: Argon2id, Ganador del PHC.