Next
libch Version 0.25: A Library for Fast
One-Way Hashing on the Pentium
Portable Edition
Public Domain Software Written by Leonard Janke in 1996-7
Abstract
libch is a library inspired by Bosselaers,
Govaerts, and Vandewalle's paper
Fast
Hashing on the Pentium [BGV] and the improvements in
speed
claimed
[BOS] since then. Included are
- Pregenerated assembly files containing Pentium optimized, C linkable
assembly functions for fast chain hashing on Pentiums,
- Pregenerated C files for MSVC++ containing inline assembly versions
of the compression functions provided,
- C++ generators to create the assembly files from scratch,
- Header files containing a C interface to the assembly functions,
- a C++ hierachy to wrap the assembly functions,
- correctness tests for the C++ implementation,
- speed tests for the C implementation,
- and a small C++ program to demonstrate a collision discovered by
Dobbertin [DOBb] in MD5's compression function.
The assembly functions provided are all faster than
[BGV] and are
reasonably close to [BOS]
as indicated by the following table of cycle counts:
hash
| libch
| [BOS]
| libch/[BOS]
|
md5
| 353
| 345
| 1.02
|
sha0
| 863
| N/A
| N/A
|
sha1
| 895
| 837
| 1.07
|
rmd128
| 618
| 597
| 1.04
|
rmd160
| 1040
| 1016
| 1.02
|
Next