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.
Function | Year[gi 1] | 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] | MD4 RIPEMD-160 page 2 |
|
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 | |||
GOST R 34.11-94 | 1994 | FAPSI and VNIIstandart | GOST 28147-89 | RFC 5831 |
Tiger | 1995 | Ross Anderson Eli Biham |
Website | |
Whirlpool | 2004 | Vincent Rijmen Paulo Barreto |
Website |
Notes[]
- ↑ It refers to the first official description of the algorithm, not designed date.
Compression function[]
The following tables compare technical information for compression functions of cryptographic hash functions. The information comes from the specifications, please reference them for more details.
Function | Size (bits)[cf 1] | Words ×Passes =Rounds[cf 2] |
Operations[cf 3] | Endian[cf 4] | Specification | |||||
---|---|---|---|---|---|---|---|---|---|---|
Word | Digest | Chaining values[cf 5] |
Computation values[cf 6] |
Block | Length[cf 7] | |||||
HAVAL-3-128 | 32 | ×4=128 | ×8=256 | ×32=1024 | 64 | 32×3=96 | A B S | little | HAVAL | |
HAVAL-3-160 | ×5=160 | |||||||||
HAVAL-3-192 | ×6=192 | |||||||||
HAVAL-3-224 | ×7=224 | |||||||||
HAVAL-3-256 | ×8=256 | |||||||||
HAVAL-4-128 | ×4=128 | 32×4=128 | ||||||||
HAVAL-4-160 | ×5=160 | |||||||||
HAVAL-4-192 | ×6=192 | |||||||||
HAVAL-4-224 | ×7=224 | |||||||||
HAVAL-4-256 | ×8=256 | |||||||||
HAVAL-5-128 | ×4=128 | 32×5=160 | ||||||||
HAVAL-5-160 | ×5=160 | |||||||||
HAVAL-5-192 | ×6=192 | |||||||||
HAVAL-5-224 | ×7=224 | |||||||||
HAVAL-5-256 | ×8=256 | |||||||||
MD2 | 8 | ×16=128 | ×32=256 | ×48=384 | ×16=128 | none | 48×18=864 | B | irrelevant | RFC 1319 |
MD4 | 32 | ×4=128 | ×16=512 | 64 | 16×3=48 | A B S | little | RFC 1320 | ||
MD5 | 16×4=64 | RFC 1321 | ||||||||
RIPEMD | 32 | ×4=128 | ×8=256 | ×16=512 | 64 | 16×3=48 | A B S | little | ||
RIPEMD-128 | 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 | A B S | big | |||
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 | |||||||||
GOST R 34.11-94 | 32 | ×8=256 | ×8=256 | 32 | 4 | A B L S | little | RFC 5831 | ||
Tiger-192 | 64 | ×3=192 | ×3=192 | ×8=512 | 64 | 8×3=24 | A B L S | little | Tiger | |
Tiger-160 | ×2.5=160 | |||||||||
Tiger-128 | ×2=128 |
Notes[]
- ↑ The omitted multiplicands are word sizes.
- ↑ Some authors interchange passes and rounds.
- ↑ A: addition, subtraction; B: bitwise operation; L: lookup table; S: shift, rotation.
- ↑ It refers to "byte" endianness only. If the operations consist of bitwise operations and lookup tables only, the endianness is irrelevant.
- ↑ 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 = 2length size - 1 bits. For example, the maximum input size of SHA-1 = 264 - 1 bits.
Cryptanalysis[]
The following tables compare cryptanalysis status of cryptographic hash functions. This table is probably out of date.
Function | Digest size |
Rounds | Best known attacks Complexity:rounds[c 1] | ||
---|---|---|---|---|---|
Collision | Second preimage |
Preimage | |||
RIPEMD | 128 | 48 | 218 | ||
RIPEMD-160 | 160 | 80 | 251:48[1] | ||
MD2 | 128 | 864 | 263.3[2] | 273[3] | |
MD4 | 128 | 48 | 3 | 264 | 270.4 |
MD5 | 128 | 64 | 220.96 | 2123.4 | |
SHA-0 | 160 | 80 | 233.6 | ||
SHA-1 | 160 | 80 | 251 | ||
SHA-256 | 256 | 64 | 228.5:24 | 2248.4:42 | |
SHA-512 | 512 | 80 | 232.5:24 | 2494.6:42 | |
GOST | 256 | 256 | 2105 | 2192 | 2192 |
Tiger | 192 | 24 | 262:19 | 2184.3 |
Notes[]
- ↑ The omitted rounds are full.
See also[]
- List of hash functions
- Word (computing)
References[]
External links[]
- The Hash Function Lounge - A list of hash functions and known attacks, by Paulo Barreto
- The eHash Main Page - A wiki for cryptographic hash functions
- The NIST Hash Competition Main Page - The competition to become SHA-3
|