Por que o SHA-224 e o SHA-256 usam valores iniciais diferentes?

9

Wikipedia - SHA-2 diz

SHA-224 é idêntico a SHA-256, exceto que:

  • os valores variáveis ​​iniciais h0 a h7 são diferentes e
  • a saída é construída omitindo h7.

RFC3874 - Função hash unidirecional de 224 bits: diz SHA-224

O uso de um valor inicial diferente garante que um valor de resumo de mensagens SHA-256 truncado não possa ser confundido com um valor de resumo de mensagens SHA-224 calculado nos mesmos dados.

Minhas perguntas:

  1. A razão citada acima é a única razão pela qual o SHA-224 e o SHA-256 usam valores iniciais diferentes?

  2. Por que é importante garantir que um valor de resumo da mensagem SHA-256 não possa ser confundido com um valor de resumo da mensagem SHA-224?

  3. Se usarmos os mesmos valores iniciais para ambas as funções de hash, a segurança de qualquer uma das funções de hash piorará? Se sim, como?

netvope
fonte
7
Este é quase certamente um ajuste melhor ao crypto.SE .
Peter Taylor
11
Pelo menos a pergunta 2 parece estar fora de tópico aqui. Afinal, está relacionado a como as pessoas usam computadores e o que é conveniente para elas; não é realmente uma pergunta do TCS.
Jukka Suomela
Pergunta relacionada no Crypto.SE: crypto.stackexchange.com/questions/3946/…
mikeazo:

Respostas:

4
  1. Chamamos isso de separação de domínio, quando usamos o mesmo algoritmo para diferentes tamanhos de saída.
  2. A separação é necessária porque, se eu encontrar duas mensagens com valor de hash (SH256), difere apenas no último octeto e, em seguida, posso publicar o valor de hash como primeiro octeto de 7, mostrando que usei SHA224. desde que eu já tenho duas mensagens colidindo com SHA224 que eu posso usar mais tarde para ataque de falsificação. Usando a separação de domínio, podemos evitar essa situação
Tarun
fonte