¿Por qué SHA-224 y SHA-256 usan valores iniciales diferentes?


9

Wikipedia - SHA-2 dice

SHA-224 es idéntico a SHA-256, excepto que:

  • los valores de la variable inicial h0 a h7 son diferentes y
  • la salida se construye omitiendo h7.

RFC3874 - Una función de hash unidireccional de 224 bits: SHA-224 dice

El uso de un valor inicial diferente asegura que un valor de resumen de mensaje SHA-256 truncado no pueda confundirse con un valor de resumen de mensaje SHA-224 calculado con los mismos datos.

Mis preguntas:

  1. ¿Es la razón citada arriba la única razón por la cual SHA-224 y SHA-256 usan valores iniciales diferentes?

  2. ¿Por qué es importante asegurarse de que un valor de resumen de mensaje SHA-256 no pueda confundirse con un valor de resumen de mensaje SHA-224?

  3. Si usamos los mismos valores iniciales para ambas funciones hash, ¿empeorará la seguridad de cualquiera de las funciones hash? Si es así, ¿cómo?


77
Es casi seguro que se ajuste mejor a crypto.SE .
Peter Taylor

1
Al menos la pregunta 2 parece estar fuera de tema aquí. Después de todo, está relacionado con la forma en que las personas usan computadoras y lo que les conviene; No es realmente una pregunta de TCS.
Jukka Suomela

Pregunta relacionada sobre Crypto.SE: crypto.stackexchange.com/questions/3946/…
mikeazo

Respuestas:


4
  1. Esto lo llamamos Separación de dominio, cuando usamos el mismo algoritmo para diferentes tamaños de salida.
  2. La separación es necesaria porque si encontré dos mensajes que tienen un valor hash (SH256), solo difiere en el último octeto y luego puedo publicar el valor hash como los primeros 7 octetos que muestran que usé SHA224. ya que tengo dos mensajes que chocan en SHA224 que puedo usar más tarde para el ataque de falsificación Usando la separación de dominios podemos evitar tal situación
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.