The following tables compare general and technical information for a number of cryptographic hash functions. Please see the individual functions' articles for further information. This article is not all-inclusive or necessarily up-to-date.
General information
Basic general information about the cryptographic hash functions: year, designer, references, etc. The column "Year" refers to the first official description of the algorithm, not designed date.
Function | Year | Designer | Derived from | Reference |
---|---|---|---|---|
HAVAL | 1992 | Yuliang Zheng Josef Pieprzyk Jennifer Seberry |
Website | |
MD2 | 1989 | Ronald Rivest | RFC 1319 | |
MD4 | 1990 | RFC 1320 | ||
MD5 | 1992 | MD4 RFC 1321 page 1 |
RFC 1321 | |
RIPEMD | 1990 | The RIPE Consortium[1] | ||
RIPEMD-128 RIPEMD-256 RIPEMD-160 RIPEMD-320 |
1996 | Hans Dobbertin Antoon Bosselaers Bart Preneel |
RIPEMD[2] | Website |
SHA-0 | 1993 | NSA | SHA-0 | |
SHA-1 | 1995 | SHA-0 | FIPS 180--3 | |
SHA-256 SHA-512 SHA-384 |
2002 | |||
SHA-224 | 2004 | |||
Tiger-192 Tiger-160 Tiger-128 |
1995 | Ross Anderson Eli Biham |
Website | |
Whirlpool | 2004 | Vincent Rijmen Paulo Barreto |
Website |
Compression function
The following tables compare technical information for compresion functions of cryptographic hash functions. The information comes from the specifiations, please reference them for more details.
Function | Size (bits)[cf 1] | Block words ×Passes =Rounds[cf 2] |
Specification | |||||
---|---|---|---|---|---|---|---|---|
Word | Digest | Chaining values[cf 3] |
Computation values[cf 4] |
Block | Length[cf 5] | |||
MD4 | 32 | ×4=128 | ×16=512 | 64 | 16×3=48 | RFC 1320 | ||
MD5 | 16×4=64 | RFC 1321 | ||||||
RIPEMD-128 | 32 | ×4=128 | ×8=256 | ×16=512 | 64 | 16×4=64 | RIPEMD-160 | |
RIPEMD-256 | ×8=256 | |||||||
RIPEMD-160 | ×5=160 | ×10=320 | 16×5=80 | |||||
RIPEMD-320 | ×10=320 | |||||||
SHA-0 | 32 | ×5=160 | ×16=512 | 64 | 16×5=80 | |||
SHA-1 | FIPS 180--3 | |||||||
SHA-256 | ×8=256 | ×8=256 | 16×4=64 | |||||
SHA-224 | ×7=224 | |||||||
SHA-512 | 64 | ×8=512 | ×8=512 | ×16=1024 | 128 | 16×5=80 | ||
SHA-384 | ×6=384 | |||||||
Tiger-192 | 64 | ×3=192 | ×3=192 | ×8=512 | 64 | 8×3=24 | Tiger | |
Tiger-160 | ×2.5=160 | |||||||
Tiger-128 | ×2=128 |
Notes
- ^ The omitted multiplicands are word sizes.
- ^ Some authors interchange passes and rounds.
- ^ The size of message digest equals to the size of chaining values usually. In truncated versions of certain cryptographic hash functions such as SHA-384, the former is less than the latter.
- ^ The size of chaining values equals to the size of computation values usually. In certain cryptographic hash functions such as RIPEMD-160, the former is less than the latter because RIPEMD-160 use two sets of parallel computaion values and then combine into a single set of chaining values.
- ^ The maximum input size=2^length size-1. For example, the maximum input size of SHA-1=2^64-1=16Eib-1Eib.
See also
External links
- Hash'em all! — free online text and file hashing with different algorithms
- The Hash Function Lounge — a list of hash functions and known attacks, by Paulo Barreto