2.3 Padding
Da jede Hash-Funktion für eine fixe (Eingangs-) Blockbreite konzipiert ist, muß man den letzten Block
meist auf diese erweitern. Bei den standardisierten Hash-Algorithmen scheint sich folgende
Vorgehensweise durchgesetzt zu haben:
- Füge immer ein einzelnes Bit mit dem Wert an (typisches ISO-Padding), bei
Byte-orientierten Implementierung den Wert .
- Gewährleiste, daß am Ende des letzten Blocks 64 Bit Platz sind für die Aufnahme eines
Zählers. Ist dies nicht gegeben, schließe den aktuellen Block durch Auffüllen mit Nullen
ab und verarbeite ihn mit der Kompressionsfunktion.
- Fülle den aktuellen Block, ausgenommen die letzten 64 Bit, mit Nullen auf.
- Füge einen Blockzähler (CNT in Abbildung 2.2) in die letzten 64 Bit ein und verarbeite
diesen Block mit der Kompressionsfunktion.
- Nehme das Ergebnis dieses letzten Blocks als Hash-Wert .