Glossary
PBKDF2
PBKDF2 deriva una clave repitiendo un HMAC miles de veces con una sal, cambiando velocidad bruta por resistencia a la fuerza bruta — el KDF detrás de Bitwarden, LastPass, WPA2 y más.
PBKDF2 (Password-Based Key Derivation Function 2) convierte una contraseña y una sal en una clave de longitud fija ejecutando un HMAC — normalmente HMAC-SHA1, HMAC-SHA256 o HMAC-SHA512 — una y otra vez, realimentando el resultado de cada ronda a la siguiente. El número de iteraciones es el ajuste configurable: más rondas significa más trabajo por intento, tanto para un inicio de sesión legítimo como para un intento de descifrado.
A diferencia de las funciones resistentes a memoria como Argon2 o scrypt, PBKDF2 apenas necesita RAM, lo que la hace considerablemente más barata de atacar en una GPU con el mismo número de iteraciones. Aun así sigue muy extendida porque es simple, está estandarizada (RFC 2898) y es lo bastante antigua como para contar con soporte de hardware y de librerías en todas partes.
PBKDF2 aparece constantemente en este sitio: las bóvedas de Bitwarden y LastPass, el formato Cloud Keychain de 1Password, los handshakes WPA2, y los tipos de hash dedicados pbkdf2-hmac-sha1/pbkdf2-sha256 derivan todos su clave de esta forma — consulta descifrar bóvedas de gestores de contraseñas para ver cómo el número de iteraciones que elige cada uno determina directamente cuántos intentos por segundo puede probar una GPU.