Warum verwenden SHA-224 und SHA-256 unterschiedliche Anfangswerte?

9

Wikipedia - SHA-2 sagt

SHA-224 ist identisch mit SHA-256, außer dass:

  • Die anfänglichen Variablenwerte h0 bis h7 sind unterschiedlich und
  • Die Ausgabe wird durch Weglassen von h7 erstellt.

RFC3874 - Eine 224-Bit-Einweg-Hash-Funktion: SHA-224 sagt

Die Verwendung eines anderen Anfangswertes stellt sicher, dass ein abgeschnittener SHA-256-Nachrichten-Digest-Wert nicht mit einem SHA-224-Nachrichten-Digest-Wert verwechselt werden kann, der für dieselben Daten berechnet wurde.

Meine Fragen:

  1. Ist der oben genannte Grund der einzige Grund, warum SHA-224 und SHA-256 unterschiedliche Anfangswerte verwenden?

  2. Warum ist es wichtig sicherzustellen, dass ein SHA-256-Nachrichten-Digest-Wert nicht mit einem SHA-224-Nachrichten-Digest-Wert verwechselt werden kann?

  3. Wenn wir für beide Hash-Funktionen dieselben Anfangswerte verwenden, verschlechtert sich dann die Sicherheit beider Hash-Funktionen? Wenn ja, wie?

netvope
quelle
7
Dies passt mit ziemlicher Sicherheit besser zu crypto.SE .
Peter Taylor
1
Zumindest Frage 2 scheint hier nicht zum Thema zu gehören. Schließlich hängt es damit zusammen, wie Menschen Computer benutzen und was für sie bequem ist. nicht wirklich eine TCS-Frage.
Jukka Suomela
Verwandte Frage zu Crypto.SE: crypto.stackexchange.com/questions/3946/…
mikeazo

Antworten:

4
  1. Dies haben wir als Domänentrennung bezeichnet, wenn wir denselben Algorithmus für unterschiedliche Ausgabegrößen verwenden.
  2. Eine Trennung ist notwendig, denn wenn ich zwei Nachrichten mit einem Hash-Wert (SH256) gefunden habe, die sich nur im letzten Oktett unterscheiden, kann ich den Hash-Wert als erstes 7-Oktett veröffentlichen, was zeigt, dass ich SHA224 verwendet habe. da ich bereits zwei auf SHA224 kollidierende Nachrichten habe, die ich später für Fälschungsangriffe verwenden kann. Durch die Trennung von Domänen können wir eine solche Situation vermeiden
Tarun
quelle