Uso PBKDF2 con SHA-256 para almacenar hashes de contraseñas. Yo uso los siguientes parámetros:
number of iterations desired = 1024
length of the salt in bytes = 16
length of the derived key in bytes = 4096
Pero recientemente descubrí que lo más probable es que los parámetros estén mal seleccionados.
Por ejemplo, página wiki dice:
estándar fue escrito en 2000, el número mínimo recomendado de Las iteraciones fueron 1000 ... A partir de 2005, se recomienda un estándar de Kerberos. 4096 iteraciones
lo que significa que lo más probable es que tenga que aumentar este número
y
El estándar recomienda una longitud de sal de al menos 64 bits
Lo que significa que la longitud de mi sal es buena es demasiado baja (gracias a Neil Smithline). Pero cuando buscando en el estándar no pude encontrar la mención sobre la longitud de sal recomendada.
Cuando busqué la longitud de la clave derivada y encontré esta buena respuesta :
Si usa PBKDF2 para el hashing de contraseñas, entonces deberían obtenerse 12 bytes de salida. para estar bien, con un margen de seguridad no despreciable
me sugirió que tomé un número demasiado grande que probablemente no tiene sentido.
Entonces, mi pregunta es : ¿alguien puede mostrar buenos parámetros (puede estar con algunas justificaciones / enlaces) para este caso de hashing de contraseñas (a partir de 2016)? ¿También puedo garantizar que la longitud de la clave derivada siempre será la misma que la que pido?