2012-04-08 11 views
15

SHA384 es una versión truncada de SHA512. Pero, ¿por qué alguien lo usaría? Y corolario: si SHA384 es tan bueno como SHA512, ¿hay alguna razón para usar la versión de 512 bits?¿Por qué eligió SHA512 por SHA384?

Estoy planeando utilizar uno de los algoritmos para verificar la integridad del archivo, por lo que estoy interesado principalmente en la seguridad de la colisión.

Me encantaría escuchar cómo alguien utiliza los resúmenes de SHA2 en la práctica y por qué elegirías una versión sobre la otra.

+2

SHA224 es una versión truncada de SHA256. Wikipedia enumera SHA224 como "para que coincida con la longitud de clave de Triple DES de dos claves". No puedo encontrar una declaración para SHA384, aunque sospecho algo similar. – Mysticial

Respuesta

19

Para fines prácticos y en el futuro previsible, tanto SHA384 como SHA512 son lo suficientemente buenos para casi cualquier aplicación de resistencia a la colisión imaginable. En general, el factor determinante primario de qué hash utilizarías, una vez que estamos por encima de 256 bits y la resistencia a la colisión es infinito para fines prácticos, es la cantidad de bits de salida que necesitas. Por ejemplo, si necesita el hash para generar tanto una clave HMAC de 256 bits como una clave de cifrado de 128 bits, SHA384 es una opción natural. Si necesita tanto producto como sea posible para el costo computacional, por ejemplo, para la salida de un PRNG o como relleno aleatorio, entonces SHA512 tiene sentido.

18

SHA256 SHA1 y MD5 son vulnerables a length extension attack. SHA224, SHA384 y SHA512 no han reducido la salida al estado interno, SHA3 tampoco es vulnerable. Teniendo esto en cuenta, SHA512 y SHA384 son buenas funciones de hash criptográficas resistentes a colisiones.

+0

SHA512 también es vulernable al ataque de extensión de longitud. De SHA-2, solo SHA224 y SHA834 no lo son. – Marqin

6

certificados firmados con SHA512 no parecen trabajar con TLS 1.2 en Windows (see here)

Por lo tanto, voy a estar recreando mi cadena de certificados usando SHA-384 (o supongo que podría utilizar SHA-256) .

Aunque, afortunadamente, no he lanzado ningún cert todavía, el hilo en la página vinculada propone una solución/solución para aquellos que están atrapados con SHA-512.

HTH!

Cuestiones relacionadas