Whirlpool Hash

Kategorisierung:Modern / Hashes und Prüfsummen
Herkunft / Verwendung: Whirlpool ist eine Hashfunktion, die von Vincent Rijmen (der auch AES mitentwickelt hat) und Paulo S. L. M. Barreto entworfen und nach der Whirlpool-Galaxie im Sternbild der Jagdhunde benannt ist. Eine erste Beschreibung wurde von den beiden Autoren bereits 2000 veröffentlicht. Diese wurde allerdings noch zweimal überarbeitet. Erst die dritte Version, die 2003 erschien, gilt als endgültige Version des Algorithmus. Sie ist die, die auch normalerweise eingesetzt wird.

Die Hashlänge beträgt 512 bit bzw. 64 Byte. Bislang sind keine Schwachstellen des Algorithmus bekannt geworden, er ist allerdings weniger gebräuchlich und wurde nicht so genau analysiert wie manch anderer bekannterer Algorithmus.

Spezifikation des Algorithmus

Whirlpool arbeitet mit eine Blockgröße von 512 bit (64 Bytes) und errechnet den Hashwert in 10 Runden via S-Boxen. Es nutzt dazu einen sogenannten Hash-Status, der 64 Kettenvariablen mit jeweils einem Byte Länge enthält. Der Hash-Status ist also gesamt 64 Byte oder 512 bit lang. Whirlpool verschlüsselt jeweils 64 Byte Blöcke von Klartext mit einem 64 Byte langem Schlüssel durch eine Kompressionsfunktion (W genannt).

Die Funktion W besteht aus vier Schritten: einem nichtlinearen Schritt, in dem mit S-Boxen ganz ähnlich wie bei AES gearbeitet wird; einem Permutationsschritt, die durch eine Zeilenrotation bewerkstelligt wird; einem Diffusionschritt (ähnlich dem MixColumn-Verfahren von AES), der für eine Verwürfelung der Daten sorgt und die Daten für eine neue Runde vorbereitet und schließlich einem Additionsschritt, in den der Schlüssel einfließt und mit der Matrix XOR-verknüpft wird.

Die genaue Spezifikation als .zip und weitere Infos finden sich auf der Whirlpool-Homepage.

Beispiel

Klartext:Beispielklartext
Hash:DB5A79FFACEA21784B5055AB99E7D15E4FB843CD17BD517D953C21A595A1535F
1D828023BE2D0D3E52F00474D2631F163F91E2A83B3F8A282F792829DEBBF5B2

Code / Chiffre online dekodieren / entschlüsseln bzw. kodieren / verschlüsseln (Decoder / Encoder / Solver-Tool)



Quellen, Literaturverweise und weiterführende Links

Spezifikation des Verfahrens auf der Whirlpool-Homepage
Schmeh, Klaus: Kryptografie: Verfahren - Protokolle - Infrastrukturen, dpunkt Verlag, 5. Auflage 2013, iX-Edition, S. 253