En la documentación oficial del estándar PKCS5 V2.0, podemos leer "La sal se puede ver como un índice en un gran conjunto de claves derivadas de la contraseña, y no es necesario mantenerlas en secreto".
La parte "no es necesario mantenerla en secreto" es interesante.
Dado que se usa Salt para agregar una gran variedad de posibilidades de contraseña (o para crear dos claves diferentes si dos usuarios tienen la misma contraseña), ¿cuál es el propósito de dejar que el Salt no sea seguro?
Entiendo que normalmente, un atacante no tendrá acceso a la sal, por lo que complicará su trabajo para encontrar la contraseña correcta. Pero si un atacante conoce la sal, ¿dónde está la "magia"? Saber que la sal es como realizar un ataque de diccionario tradicional (si excluimos el recuento de iteraciones)
¿Hay algo que no entiendo? Sé que saber que la sal no rompe la seguridad, pero decir que "no es necesario mantenerlo en secreto" me parece extraño.