Comparison of cryptographic hash functions

This is an old revision of this page, as edited by Tsihonglau (talk | contribs) at 04:55, 27 December 2008. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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

  1. ^ The omitted multiplicands are word sizes.
  2. ^ Some authors interchange passes and rounds.
  3. ^ 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.
  4. ^ 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.
  5. ^ The maximum input size=2^length size-1. For example, the maximum input size of SHA-1=2^64-1=16Eib-1Eib.

See also

  1. Hash'em all! — free online text and file hashing with different algorithms
  2. The Hash Function Lounge — a list of hash functions and known attacks, by Paulo Barreto