HAVAL
# HAVAL

HAVAL ist eine kryptologische Hashfunktion. Im Gegensatz zu MD5 ist es mit HAVAL, wie mit anderen moderneren Algorithmen, möglich, Hashes variabler Länge zu erzeugen, vor allem von 128 Bit, 160 Bit, 192 Bit, 224 Bit und 256 Bit. HAVAL erlaubt außerdem eine variable Anzahl von Runden (3, 4, oder 5).

HAVAL wurde von Yuliang Zheng, Josef Pieprzyk und Jennifer Seberry im Jahr 1992 erfunden.

## HAVAL Hash

Die 128 bis 256 Bit langen HAVAL-Hashes (englisch message digests) werden normalerweise als 32-, 40-, 48-, 56- oder 64-stellige Hexadezimalzahl notiert. Folgendes Beispiel zeigt eine 43 Byte lange ASCII-Eingabe und den zugehörigen HAVAL-Hash (in diesem Fall die Variante mit 256 Bit und 5 Runden):

Eine kleine Änderung der Nachricht erzeugt typischerweise einen komplett anderen Hash. Wird das d durch ein c ersetzt ergibt sich ein völlig anderes Ergebnis:

Der Hash eines Strings der Länge Null ist:

## Sicherheit

Am 17. August 2004 wurde von Xiaoyun Wang, Dengguo Feng, Xuejia Lai und Hongbo Yu eine mögliche Kollision gefunden, weshalb HAVAL (zumindest die Variante mit 128 Bits und 3 Runden) nur mit Vorsicht benutzt werden sollte.

