¿Cómo se ve el siguiente esquema de hash de contraseña?
iterations1 = scrypt iterations required to spend 50ms on my hardware
iterations2 = pbkdf2 iterations required to spend 50ms on my hardware
ram1 = scrypt suggested default ram requirement
salt1 = urandom
salt2 = urandom
hash = scrypt(pbkdf2(password, salt2+pepper, iterations2), iterations1, ram1, salt1+pepper)
save(username, hash, salt1, salt2, iterations1, iterations2, ram1)
Esta lectura fue impulsada por mi lectura de este artículo: enlace .
Esto es para permitirme aprovechar las excelentes funciones de scrypt, así como para aprovechar la seguridad probada de pbkdf2. ¿Es un enfoque razonable? ¿Crees que debería limitar esto para usar solo uno de los dos algoritmos, o crees que solo debería usar 1 sal compartida para ambos algoritmos?