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: | DB5A79FF ACEA2178 4B5055AB 99E7D15E 4FB843CD 17BD517D 953C21A5 95A1535F 1D828023 BE2D0D3E 52F00474 D2631F16 3F91E2A8 3B3F8A28 2F792829 DEBBF5B2 |
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-HomepageSchmeh, Klaus: Kryptografie: Verfahren - Protokolle - Infrastrukturen, dpunkt Verlag, 5. Auflage 2013, iX-Edition, S. 253