Me preguntaba si yo podría razones o enlaces a recursos explicando por qué SHA512 es superior, algoritmo de hash MD5.

InformationsquelleAutor Lee Warner | 2010-01-22

7 Comentarios

  1. 61

    Depende de su caso de uso. Usted no puede ampliamente reclamo de «superioridad». (Quiero decir, sí puede, en algunos casos, pero para ser estrictos, no se realmente).

    Pero hay zonas donde MD5 se ha roto:

    1. Para empezar: MD5 es antiguo y común. Hay un montón de tablas de arco iris en contra de ella, y son fáciles de encontrar. Así que si eres de hashing de contraseñas (sin sal – que vergüenza!) – el uso de md5 – que bien podría no ser hash ellos, son tan fáciles de encontrar. Incluso si usted está hash con sales simples realmente.
    2. Segundo, MD5 no es seguro como una función hash criptográfica (de hecho, ni siquiera se considera una función de hash criptográfico ya como el Bifurcada Uno de los puntos de salida). Usted puede generar diferentes mensajes de hash para el mismo valor. Así que si tienes un Certificado SSL con un hash MD5, puedo generar un duplicado del Certificado que dice lo que yo quiero, que produce el mismo hash. En general esto es lo que la gente quiere decir cuando se dice MD5 es «roto» – cosas como esta.
    3. En tercer lugar, similar a los mensajes, también puede generar diferentes archivos que de hash para el mismo valor para el uso de MD5 como un archivo de suma de comprobación es «roto».

    Ahora, SHA-512 es un SHA-2 con la Familia algoritmo de hash. SHA-1 es tipo de los considerados ‘eh’ en estos días, voy a ignorarlo. SHA-2 sin embargo, tiene relativamente pocos ataques en su contra. El más importante de la wikipedia habla es una reducción de la ronda preimagen de ataque que significa que si usted utiliza SHA-512 en un muy mal camino, yo lo pueda romper. Obivously usted no es probable que va a utilizar de esa manera, sino que ataca sólo a los mejores, y es un buen trampolín hacia una investigación más profunda para romper SHA-512 de la misma manera MD5 está roto.

    Sin embargo, de todas las funciones de Hash disponible, el SHA-2 de la familia es en la actualidad entre los más fuertes, y la mejor opción considerando la simplicidad, el análisis y la seguridad. (Pero no necesariamente velocidad. Si estás en sistemas embebidos, es necesario realizar un conjunto de otros análisis.)

    • «debido a que puede generar diferentes mensajes de hash para el mismo valor». – esa es la razón por la que ya no se considera un crytographic hash, ya que no cumple con todos los requisitos (en.wikipedia.org/wiki/Cryptographic_hash_function)
    • +1 a la información útil
  2. 10

    MD5 ha sido criptográficamente roto por algún tiempo ahora. Básicamente, esto significa que algunas de las propiedades garantizada por los algoritmos de hash, no aguante más. Por ejemplo, es posible encontrar colisiones de hash en mucho menos tiempo que potencialmente necesarios para que la longitud de la salida.

    SHA-512 (uno de los SHA-2 de la familia de funciones hash) es, por ahora, lo suficientemente seguro, pero posiblemente no mucho más para el futuro previsible. Es por eso que el NIST abrió un concurso para SHA-3.

    Generalmente, usted quiere algoritmos de hash para ser de una manera funciones. Para asignar una entrada una salida. Normalmente la salida es de una longitud fija, proporcionando un «compendio» de la entrada original. Propiedades comunes son, por ejemplo, que los pequeños cambios en la entrada de producir grandes cambios en el resultado (lo que ayuda a la detección de manipulación) y los que la función no es fácilmente reversible. Para la última propiedad de la longitud de la salida de una gran ayuda ya que proporciona un límite superior teórico de la complejidad de una colisión de ataque. Sin embargo, los defectos en el diseño o implementación a menudo resultan en la reducción de la complejidad de los ataques. Una vez que los conoce es el momento de evaluar si sigue utilizando una función hash. Si el ataque de la complejidad de las gotas lo suficientemente lejos práctica ataques conseguir fácilmente en el rango de personas sin especializados de cómputo equipo.

    Nota: he estado hablando sólo acerca de un tipo de ataque aquí. La realidad si mucho más matizada, pero también mucho más difícil de captar. Dado que las funciones hash son muy utilizados para la verificación de archivo/la integridad de los mensajes de la colisión cosa es probablemente la más fácil de entender y de seguir.

    • Tenga en cuenta que SHA-512 es uno de los algoritmos dentro de la SHA-2 de la familia. (La explicación de referencia para SHA-3.)
    • Gracias, La Justicia. Incluye 🙂
  3. 3

    Hay un par de puntos que no se tratan aquí, y creo que es de una falta de comprensión acerca de lo que es un hash es, cómo funciona y cuánto tiempo tarda en atacar con éxito, usando el arco iris o cualquier otro método que actualmente se conoce al hombre…

    Matemáticamente hablando, MD5 no es «roto» si la sal el hash del acelerador y los intentos (incluso 1 segundo), su seguridad sería simplemente como «roto» como lo haría un atacante lentamente arrojando lejos en su 1ft sólida pared de acero con una cuchara de madera:

    Tardará miles de años, y luego por todos los involucrados estarán muertos; hay cosas más importantes de que preocuparse.

    Si bloqueo de su cuenta, por el 20 de intento de… problema resuelto. 20 éxitos en tu muro = 0.0000000001% de posibilidades que tenemos a través de. Hay, literalmente, una mejor estadística probabilidad de que son, de hecho, Jesús.

    Razones por las que SHA512 es superior a MD5

    También es importante tener en cuenta que absolutamente cualquier función hash va a ser vulnerables a las colisiones en virtud de lo que es un hash es: «una (pequeña) identificador único de algo más».

    Cuando aumenta el poco espacio que disminuir las tasas de colisión, sino también aumentar el tamaño de la id y el tiempo que se toma para calcular la misma.

    Vamos a hacer un pequeño experimento…

    SHA-2, si existiera, tendría 4 total posible de Identificadores únicos para algo más… 00, 01, 10 & 11. Se producen colisiones, obviamente. ¿Ve usted el problema aquí? Un hash es sólo un IDENTIFICADOR generado de lo que estamos tratando de identificar.

    MD5 es realmente, realmente bueno escogiendo al azar un número basado en una entrada. SHA no es realmente mucho mejor que él; SHA sólo ha masiva de más espacio para los Identificadores.

    El método utilizado es de alrededor de 0.1% de la razón de que las colisiones son menos probables. La verdadera razón es la más grande poco espacio.

    Esto es, literalmente, la única razón por la que SHA-256 y SHA-512 son menos vulnerables a los choques, debido a que utilizan un espacio más grande para un identificador único.

    Los métodos SHA-256 y SHA-512 utilizar para generar el hash son, de hecho mejor, pero no por mucho; el mismo arco iris atentados trabajar en ellos si tenían menos bits en sus documentos de identidad, y los archivos e incluso las contraseñas pueden tener la misma Id de uso de SHA-256 y SHA-512, es mucho menos probable, ya que utiliza más bits.

    El VERDADERO PROBLEMA es cómo implementar la seguridad

    Si permite a los ataques automatizados de golpear a su extremo de la autenticación de 1.000 veces por segundo, vas a conseguir que se divide en. Si el acelerador a 1 intento por 3 segundos y el bloqueo de la cuenta por 24 horas después del 10 de intento, no lo eres.

    Si almacena las contraseñas sin sal (la sal es sólo un añadido secreto para el generador, lo que hace más difícil identificar las malas contraseñas como «31337» o «contraseña») y tienen un montón de usuarios, te vas a quedar cortado. Si la sal de ellos, incluso si usted usa MD5, no lo eres.

    Considerando utiliza MD5 de 128 bits (32 bytes en HEXADECIMAL, de 16 bytes en binario), y SHA 512 es sólo 4x el espacio, sino que prácticamente elimina la colisión relación al darle 2^384 más posible de los Identificadores de… Ir con SHA-512, cada vez.

    Pero si usted está preocupado acerca de lo que realmente va a ocurrir si se usa MD5, y usted no entiende lo real, de las diferencias reales, usted está probablemente va a quedar cortado, de sentido?

  4. 0

    Es simple, MD5 está roto 😉 (ver Wikipedia)

    Bruce Schneier escribió de el ataque que «[w]e ya sabía que el MD5 es un roto, la función de hash» y que «nadie debe ser mediante MD5 más.»

Dejar respuesta

Please enter your comment!
Please enter your name here