Prev    Up    Next  

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:

  1. Füge immer ein einzelnes Bit mit dem Wert 1  an (typisches ISO-Padding), bei Byte-orientierten Implementierung den Wert 80H  .
  2. 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.
  3. Fülle den aktuellen Block, ausgenommen die letzten 64 Bit, mit Nullen auf.
  4. Füge einen Blockzähler (CNT in Abbildung 2.2) in die letzten 64 Bit ein und verarbeite diesen Block mit der Kompressionsfunktion.
  5. Nehme das Ergebnis yk  dieses letzten Blocks als Hash-Wert H (x)  .