2008-10-08 16 views
9

Estoy construyendo una aplicación web y me gustaría utilizar el algoritmo de hashing más potente posible para las contraseñas. ¿Cuáles son las diferencias, si las hay, entre sha512, whirlpool, ripemd160 y tiger192,4? ¿Cuál se consideraría criptográficamente más fuerte?¿Cuál es el algoritmo de hashing más potente comúnmente disponible en la actualidad?

+0

Define lo que quieres decir con "más fuerte". – dacracot

+1

Normalmente pienso en los recursos necesarios para encontrar una entrada que tenga valores hash. – erickson

Respuesta

2

David, esas son todas funciones muy fuertes. Incluso las colisiones MD5 muy publicitadas no son de la variedad de descifrado de contraseñas, solo generan dos cadenas diferentes con el mismo MD5 (una propuesta muy diferente de encontrar una cadena que genera un valor de MD5 dado).

Si le preocupa la seguridad de las contraseñas, debe preocuparse por los protocolos utilizados para almacenarlas, los protocolos utilizados para recuperar las contraseñas olvidadas por los usuarios y todas las otras posibles vías de ataque. Esas opciones se usan mucho más a menudo para descifrar contraseñas que el análisis de fuerza bruta.

Use una sal, sin embargo.

Pero primero lea el artículo AviewAnew publicada

1

Si está realmente preocupado por la seguridad de su sistema (en oposición a la fuerza bastante académico de algoritmos), entonces debería ir con una aplicación probada y madura en lugar de nitpicking algoritmos.

Recomendaría Ulrich Drepper's SHA-crypt implementation. Esta implementación usa SHA-512, una sal de 16 caracteres, es revisada por pares y programada para entrar en todas las principales distribuciones de Linux a través de glibc 2.7.


P.S .: Una vez que haya alcanzado este nivel de seguridad, se le visitada por el black helicopters de todos modos.

Cuestiones relacionadas