HAVAL

from Wikipedia, the free encyclopedia

HAVAL is a cryptological hash function . In contrast to MD5 , with HAVAL, as with other more modern algorithms, it is possible to generate hashes of variable length, especially of 128 bits, 160 bits, 192 bits, 224 bits and 256 bits. HAVAL also allows a variable number of rounds (3, 4, or 5).

HAVAL was invented by Yuliang Zheng , Josef Pieprzyk and Jennifer Seberry in 1992 .

HAVAL hash

The 128 to 256 bit long HAVAL hashes ( English message digests ) are usually noted as 32, 40, 48, 56 or 64-digit hexadecimal numbers. The following example shows a 43-byte long ASCII input and the associated HAVAL hash (in this case the variant with 256 bits and 5 rounds):

 HAVAL("The quick brown fox jumps over the lazy dog", 256, 5) = 
 b89c551cdfe2e06dbd4cea2be1bc7d557416c58ebb4d07cbc94e49f710c55be4

A small change in the message typically creates a completely different hash. If that is dreplaced by a c, the result is completely different:

 HAVAL("The quick brown fox jumps over the lazy cog", 256, 5) = 
 60983bb8c8f49ad3bea29899b78cd741f4c96e911bbc272e5550a4f195a4077e

The hash of a zero-length string is:

 HAVAL("", 256, 5) =
 be417bb4dd5cfb76c7126f4f8eeb1553a449039307b1a3cd451dbfdc0fbbe330

safety

On August 17, 2004, Xiaoyun Wang, Dengguo Feng, Xuejia Lai and Hongbo Yu found a possible collision , which is why HAVAL (at least the variant with 128 bits and 3 rounds) should be used with caution.

Individual evidence

  1. eprint.iacr.org (PDF).