Comparison of cryptographic hash functions: Difference between revisions
Appearance
Content deleted Content added
Extropian314 (talk | contribs) |
→Cryptanalysis: Moved attacks on reduced step algorithms to separate lines in table to avoid confusion |
||
Line 298: | Line 298: | ||
|- |
|- |
||
| [[RIPEMD|RIPEMD-160]] |
| [[RIPEMD|RIPEMD-160]] |
||
| 160 |
|||
| 80 |
|||
| |
|||
| |
|||
| |
|||
|- |
|||
| [[RIPEMD|RIPEMD-160-Reduced]] |
|||
| 160 |
| 160 |
||
| 80 |
| 80 |
||
Line 340: | Line 347: | ||
|- |
|- |
||
| [[SHA-256]] |
| [[SHA-256]] |
||
| 256 |
|||
| 64 |
|||
| |
|||
| |
|||
| |
|||
|- |
|||
| [[SHA-256-Reduced]] |
|||
| 256 |
| 256 |
||
| 64 |
| 64 |
||
Line 347: | Line 361: | ||
|- |
|- |
||
| [[SHA-512]] |
| [[SHA-512]] |
||
| 512 |
|||
| 80 |
|||
| |
|||
| |
|||
| |
|||
|- |
|||
| [[SHA-512-Reduced]] |
|||
| 512 |
| 512 |
||
| 80 |
| 80 |
Revision as of 21:17, 13 November 2012
The following tables compare general and technical information for a number of cryptographic hash functions.[1]
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 | |
MD6 | 2008 | md6_report.pdf | ||
RIPEMD | 1990 | The RIPE Consortium [1] | MD4 | |
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, RFC 4357 |
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 refer to 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 = 1,024 | 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 | N/A | 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 | |||
RIPEMD-160-Reduced | 160 | 80 | 251:48 | ||
MD2 | 128 | 864 | 263.3 | 273 | |
MD4 | 128 | 48 | 3 | 264 | 278.4 |
MD5 | 128 | 64 | 220.96 | 2123.4 | |
SHA-0 | 160 | 80 | 233.6 | ||
SHA-1 | 160 | 80 | 251 | ||
SHA-256 | 256 | 64 | |||
SHA-256-Reduced | 256 | 64 | 228.5:24 | 2248.4:42 | |
SHA-512 | 512 | 80 | |||
SHA-512-Reduced | 512 | 80 | 232.5:24 | 2494.6:42 | |
GOST | 256 | 256 | 2105 | 2192 | 2192 |
Tiger | 192 | 24 | 262:19 | 2184.3 |
Notes
- ^ When omitted, rounds are full number.
See also
Notes
- ^ See the individual functions' articles for further information. This article is not all-inclusive or necessarily up-to-date.
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