el efecto es minúsculo si nada en absoluto. Tenga en cuenta que una sal estática y codificada dura no se puede considerar más que como una alteración del algoritmo de hash, ya que ocurre exactamente de la misma manera todas las veces, por lo que también puede considerarse parte del algoritmo.
Pero el propósito de la sal es crear algo aleatorio que sea similar a extender la fuerza (mínima) de la contraseña, con el propósito de hacer agrietamiento fuera de línea (incluyendo tablas de arcoíris) más intensivo en recursos (tabla no arcoiris el agrietamiento requerirá más tiempo de CPU, y las tablas de arcoiris requerirán todas las sales para todas las cadenas).
La única forma de obtener algún valor de esto es mientras se desconoce la sal estática, el equivalente al algoritmo que se desconoce. Si su código binario o su fuente están disponibles para el atacante, la ingeniería inversa mostrará el algoritmo y la sal codificada.
Y si este problema se hace público, probablemente tendrá que lidiar con flack de muchos entusiastas de la seguridad que creen que algo no perfecto está completamente roto, incluso si su producto ya hace lo correcto y el paso adicional es inútil.
Y, por supuesto, tendrás que lidiar con los problemas de mantenimiento de tener una sal estática: la compatibilidad con versiones anteriores y las correcciones de errores relacionadas con el código hash pueden ser dolorosas.
El beneficio muy pequeño de las claves estáticas (o sales) simplemente no vale la pena el costo. Siempre haga que las llaves y las sales sean dinámicas.
eso no es para lo que es Mathoverflow: su propósito es muy diferente al de este sitio ... –
@jldupont: El aspecto de seguridad es muy informático :). – kennytm