Comparison of cryptographic hash functions

From Wikipedia, the free encyclopedia
Jump to: navigation, search

The following tables compare general and technical information for a number of cryptographic hash functions.[1]

General information[edit]

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
SHA-3 (Keccak) 2008[2] Guido Bertoni
Joan Daemen
Michaël Peeters
Gilles Van Assche
Website

Notes[edit]

  1. ^ It refers to the first official description of the algorithm, not designed date.

Compression function[edit]

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[edit]

  1. ^ The omitted multiplicands are word sizes.
  2. ^ Some authors interchange passes and rounds.
  3. ^ A: addition, subtraction; B: bitwise operation; L: lookup table; S: shift, rotation.
  4. ^ It refers to byte endianness only. If the operations consist of bitwise operations and lookup tables only, the endianness is irrelevant.
  5. ^ 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.
  6. ^ 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.
  7. ^ The maximum input size = 2length size − 1 bits. For example, the maximum input size of SHA-1 = 264 − 1 bits.

Cryptanalysis[edit]

The following tables compare cryptanalysis status of cryptographic hash functions. This table is probably out of date. (last edited May, 2013)

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 269.4 278.4
MD5 128 64 220.96 2123.4
SHA-0 160 80 233.6
SHA-1 160 80 260
SHA-256 256 64
SHA-256-Reduced 256 64 265.5:31 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[edit]

  1. ^ When omitted, rounds are full number.

See also[edit]

Notes[edit]

  1. ^ See the individual functions' articles for further information. This article is not all-inclusive or necessarily up-to-date.
  2. ^ Bertoni, Guido; Daemen, Joan; Peeters, Michael; Assche, Gilles Van (Oct 2008), Keccak sponge function family main document, 1.0, retrieved 2013-07-30 

References[edit]

External links[edit]

  1. The Hash Function Lounge - A list of hash functions and known attacks, by Paulo Barreto
  2. The eHash Main Page - A wiki for cryptographic hash functions
  3. The NIST Hash Competition Main Page - The competition to become SHA-3