Bei einem sicheren Hash-Verfahren ...
- sollte sich der Hashwert bereits bei kleinsten Änderungen im Eingabetext stark ändern
- darf es zu verschiedenen Eingabetexten nicht den gleichen Hashwert geben
- darf eine Rückrechnung auf den Quelltext nicht möglich sein
- sollte die Länge des Hashwertes immer konstant sein, unabhängig von der Länge des Eingabetextes
Eigenschaften sicherer Hash-Verfahren
Ein Hash-Verfahren erzeugt aus beliebigen Eingabedaten einen Hashwert
(digitalen Fingerabdruck). Für den sicheren Einsatz in der Kryptografie
muss ein Hash-Verfahren bestimmte Eigenschaften besitzen.
1. Einwegfunktion (Preimage Resistance)
Aus einem Hashwert darf es praktisch unmöglich sein,
die ursprünglichen Eingabedaten zu berechnen.
Beispiel: Aus dem Hashwert darf nicht das ursprüngliche Passwort
rekonstruiert werden können.
2. Kollisionsresistenz (Collision Resistance)
Es darf praktisch unmöglich sein,
zwei unterschiedliche Eingaben zu finden,
die denselben Hashwert erzeugen.
Beispiel: Zwei verschiedene Dokumente dürfen nicht denselben Hashwert besitzen.
3. Zweite-Präbild-Resistenz (Second Preimage Resistance)
Zu einer gegebenen Eingabe darf keine andere Eingabe gefunden werden können,
die denselben Hashwert erzeugt.
Dadurch wird verhindert, dass ein Angreifer ein Dokument gegen ein anderes
austauscht, ohne dass dies erkannt wird.
Zusammenfassung
| Eigenschaft |
Bedeutung |
| Einwegfunktion |
Hash → ursprüngliche Daten nicht berechenbar |
| Kollisionsresistenz |
Zwei unterschiedliche Daten erzeugen nicht denselben Hash |
| Zweite-Präbild-Resistenz |
Keine zweite Eingabe mit gleichem Hash auffindbar |
Weitere wünschenswerte Eigenschaft
Avalanche-Effekt:
Bereits eine minimale Änderung der Eingabedaten
soll einen völlig anderen Hashwert erzeugen.
Merksatz für die FISI-Prüfung:
Ein sicheres Hash-Verfahren sollte eine Einwegfunktion besitzen,
kollisionsresistent sein und zweite-Präbild-Resistenz aufweisen.
Typische Prüfungsantwort
Drei wichtige Eigenschaften eines sicheren Hash-Verfahrens sind:
- Einwegfunktion – aus dem Hashwert kann die ursprüngliche Nachricht nicht berechnet werden.
- Kollisionsresistenz – zwei verschiedene Eingaben sollen nicht denselben Hashwert erzeugen.
- Zweite-Präbild-Resistenz – zu einer Eingabe soll keine andere Eingabe mit demselben Hashwert gefunden werden können.