La longitud de la sal no es importante una vez que ha excedido el mínimo por debajo del cual el cálculo previo se vuelve barato.
Para citar Wikipedia :
Las implementaciones tempranas de Unix limitaron las contraseñas a 8 caracteres y se usaron
una sal de 12 bits, que permitió 4,096 posibles valores de sal. Esto era
un balance apropiado para los costos de computación y almacenamiento de la década de 1970.
Según mis cálculos, una sal de 12 bits significa que alguien podría pre-calcular las tablas del arco iris para todas las 4096 sales; asumiendo una contraseña de 7-8 caracteres, solo se necesitan 16 petabytes ... ciertamente no está fuera del alcance de muchos atacantes bien financiados en la actualidad. Los algoritmos criptográficos modernos tienden a tener sales de 8 a 32 caracteres para elevar el nivel ( vea la tabla 2 aquí ) .
Pero creo que la longitud de la sal no afecta, por ejemplo, significativamente la velocidad de cada cálculo de contraseña *. La elección de un buen algoritmo de contraseña ralentizará los cálculos y disminuirá la velocidad a la que un atacante puede montar un ataque de fuerza bruta; Si ese algoritmo está obteniendo +8 caracteres de entrada, no habrá una diferencia significativa en comparación con +16 caracteres o +32.
Entonces, mientras la sal no sea tan pequeña como para hacer factible el cálculo previo, está haciendo la mitad de su trabajo. (La otra mitad es para evitar que Alice y Bob tengan el mismo hash si tienen la misma contraseña).
* Esa es mi creencia ... pero no soy matemático ni codificador criptográfico. Toma esa declaración con un grano de, bueno, ya sabes ...