Haval is a variable-length, variable-round one-way hash function designed by Yuliang Zheng, Josef Pieprzyk, and Jennifer Seberry. The number of rounds can be 3, 4, or 5, while the hash length can be 128, 160, 192, 224, or 256 bits. Thus, there are a total of 15 different outputs. For better security, however, this module implements the 5-round, 256-bit output.
BONUS
The C file, _haval.c, is a standalone Haval implementation. To compile it, type:
gcc -Wall _haval.c
A new binary, a.out, will be created.
To run the binary, type:
./a.out
COPYRIGHT AND LICENSE
Copyright (C) 2003 Julius C. Duque <jcduque (AT) lycos (DOT) com>
This library is free software; you can redistribute it and/or modify it under the same terms as the GNU General Public License.