Función de derivación de clave

Este uso se puede expresar como DK = KDF(key, salt, iterations), donde DK es la clave derivada, KDF es la función de derivación de clave, key es la clave o contraseña original, salt es un número aleatoria que actúa como sal criptográfica, y iterations se refiere al número de iteraciones de una subfunción.Los valores de la sal y el número de iteraciones (si no es fijo) se almacenan con la contraseña hash o se envían como texto plano con un mensaje encriptado.Un límite práctico en el número de iteraciones es la renuencia de los usuarios para tolerar un retraso perceptible al iniciar sesión en un dispositivo o en ver un mensaje desencriptado.[7]​ Aunque el artículo que introdujo la extensión de clave[8]​ mencionaba esta técnica previa y eligió intencionadamente un nombre diferente, el término «fortalecimiento de clave» se usa a menudo para referirse a la extensión de clave.El NIST requiere al menos 128 bits de sal aleatoria y una función criptográfica aprobada por el NIST, como la serie SHA o AES (MD5 no está aprobada).Se han diseñado varios algoritmos específicamente para este propósito, incluyendo bcrypt, scrypt y, más recientemente, Argon2 (el ganador de la Password Hashing Competition).