Pourquoi SHA-224 et SHA-256 utilisent des valeurs initiales différentes?

9

Wikipedia - SHA-2 dit

SHA-224 est identique à SHA-256, sauf que:

  • les valeurs variables initiales h0 à h7 sont différentes, et
  • la sortie est construite en omettant h7.

RFC3874 - Une fonction de hachage unidirectionnelle de 224 bits: SHA-224 dit

L'utilisation d'une valeur initiale différente garantit qu'une valeur de résumé de message SHA-256 tronquée ne peut pas être confondue avec une valeur de résumé de message SHA-224 calculée sur les mêmes données.

Mes questions:

  1. La raison citée ci-dessus est-elle la seule raison pour laquelle SHA-224 et SHA-256 utilisent des valeurs initiales différentes?

  2. Pourquoi est-il important de s'assurer qu'une valeur de résumé de message SHA-256 ne peut pas être confondue avec une valeur de résumé de message SHA-224?

  3. Si nous utilisons les mêmes valeurs initiales pour les deux fonctions de hachage, la sécurité de l'une des fonctions de hachage va-t-elle empirer? Si oui, comment?

netvope
la source
7
C'est presque certainement un meilleur ajustement sur crypto.SE .
Peter Taylor
1
Au moins, la question 2 semble être hors sujet ici. Après tout, cela est lié à la façon dont les gens utilisent les ordinateurs et à ce qui leur convient; pas vraiment une question TCS.
Jukka Suomela
Question connexe sur Crypto.SE: crypto.stackexchange.com/questions/3946/…
mikeazo

Réponses:

4
  1. C'est ce que nous avons appelé la séparation de domaine, lorsque nous utilisons le même algorithme pour différentes tailles de sortie.
  2. La séparation est nécessaire car si j'ai trouvé deux messages qui ont une valeur de hachage (SH256), ne diffère que dans le dernier octet et je peux ensuite publier la valeur de hachage comme premier 7 octets montrant que j'ai utilisé SHA224. car j'ai déjà deux messages entrant en collision sur SHA224 que je pourrai utiliser plus tard pour l'attaque par contrefaçon. En utilisant la séparation des domaines, nous pouvons éviter une telle situation
Tarun
la source