Comparison of cryptographic hash functions
Encyclopedia
The following tables compare general and technical information for a number of cryptographic hash function
Cryptographic hash function
A cryptographic hash function is a deterministic procedure that takes an arbitrary block of data and returns a fixed-size bit string, the hash value, such that an accidental or intentional change to the data will change the hash value...

s.

General information

Basic general information about the cryptographic hash function
Cryptographic hash function
A cryptographic hash function is a deterministic procedure that takes an arbitrary block of data and returns a fixed-size bit string, the hash value, such that an accidental or intentional change to the data will change the hash value...

s: year, designer, references, etc.
Function YearIt refers to the first official description of the algorithm, not designed date. Designer Derived from Reference
HAVAL
HAVAL
HAVAL is a cryptographic hash function. Unlike MD5, but like most modern cryptographic hash functions, HAVAL can produce hashes of different lengths. HAVAL can produce hashes in lengths of 128 bits, 160 bits, 192 bits, 224 bits, and 256 bits...

1992 Yuliang Zheng
Yuliang Zheng
Yuliang Zheng is a Professor at the University of North Carolina at Charlotte. He is best known for inventing the Signcryption cryptographic primitive that combines the digital signature and encryption operations into one single step...


Josef Pieprzyk
Josef Pieprzyk
Josef Pieprzyk is a professor at Macquarie University in Sydney, Australia.He has worked on cryptography, in particular the XSL attack. He collaborated in the invention of the LOKI and LOKI97 block ciphers and the HAVAL cryptographic hash function....


Jennifer Seberry
Jennifer Seberry
Jennifer Roma Seberry is an Australian cryptographer, mathematician, and computer scientist, currently a professor at the University of Wollongong, Australia...

Website
MD2 1989 Ronald Rivest RFC 1319
MD4
MD4
The MD4 Message-Digest Algorithm is a cryptographic hash function developed by Ronald Rivest in 1990. The digest length is 128 bits. The algorithm has influenced later designs, such as the MD5, SHA-1 and RIPEMD algorithms....

1990 RFC 1320
MD5
MD5
The MD5 Message-Digest Algorithm is a widely used cryptographic hash function that produces a 128-bit hash value. Specified in RFC 1321, MD5 has been employed in a wide variety of security applications, and is also commonly used to check data integrity...

1992 MD4
MD4
The MD4 Message-Digest Algorithm is a cryptographic hash function developed by Ronald Rivest in 1990. The digest length is 128 bits. The algorithm has influenced later designs, such as the MD5, SHA-1 and RIPEMD algorithms....


RFC 1321 page 1
RFC 1321
MD6
MD6
The MD6 Message-Digest Algorithm is a cryptographic hash function. It uses a Merkle tree-like structure to allow for immense parallel computation of hashes for very long inputs...

2008 md6_report.pdf
RIPEMD
RIPEMD
RIPEMD-160 is a 160-bit message digest algorithm developed in Leuven, Belgium, by Hans Dobbertin, Antoon Bosselaers and Bart Preneel at the COSIC research group at the Katholieke Universiteit Leuven, and first published in 1996...

1990 The RIPE Consortiumhttp://homes.esat.kuleuven.be/~bosselae/ripemd160.html#What MD4
MD4
The MD4 Message-Digest Algorithm is a cryptographic hash function developed by Ronald Rivest in 1990. The digest length is 128 bits. The algorithm has influenced later designs, such as the MD5, SHA-1 and RIPEMD algorithms....


RIPEMD-160 page 2
RIPEMD-128
RIPEMD-256
RIPEMD-160
RIPEMD-320
1996 Hans Dobbertin
Hans Dobbertin
Hans Dobbertin, was a German cryptographer who is best known for his work on cryptanalysis of the MD4, MD5, and original RIPEMD hash functions, and for his part in the design of the new version of the RIPEMD hash function...


Antoon Bosselaers
Bart Preneel
Bart Preneel
Bart Preneel is a Belgian cryptographer and cryptanalyst. He is a professor at Katholieke Universiteit Leuven, in the COSIC group, president of the International Association for Cryptologic Research, and project manager of ECRYPT....

RIPEMD
RIPEMD
RIPEMD-160 is a 160-bit message digest algorithm developed in Leuven, Belgium, by Hans Dobbertin, Antoon Bosselaers and Bart Preneel at the COSIC research group at the Katholieke Universiteit Leuven, and first published in 1996...

http://homes.esat.kuleuven.be/~bosselae/ripemd160.html#What
Website
SHA-0 1993 NSA
National Security Agency
The National Security Agency/Central Security Service is a cryptologic intelligence agency of the United States Department of Defense responsible for the collection and analysis of foreign communications and foreign signals intelligence, as well as protecting U.S...

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
FAPSI
FAPSI or Federal Agency of Government Communications and Information was a Russian government agency, which was responsible for signal intelligence and security of governmental communications...

 and VNIIstandart
GOST 28147-89 RFC 5831, RFC 4357
Tiger 1995 Ross Anderson
Eli Biham
Eli Biham
Eli Biham is an Israeli cryptographer and cryptanalyst, currently a professor at the Technion Israeli Institute of Technology Computer Science department. Starting from October 2008, Biham is the dean of the Technion Computer Science department, after serving for two years as chief of CS graduate...

Website
Whirlpool 2004 Vincent Rijmen
Vincent Rijmen
Vincent Rijmen is a Belgian cryptographer and one of the two designers of the Rijndael, the Advanced Encryption Standard. Rijmen is also the co-designer of the WHIRLPOOL cryptographic hash function, and the block ciphers Anubis, KHAZAD, Square, NOEKEON and SHARK.In 1993, Rijmen obtained a degree...


Paulo Barreto
Paulo S. L. M. Barreto
Paulo S. L. M. Barreto is a Brazilian cryptographer and one of the designers of the Whirlpool hash function and the block ciphers Anubis and KHAZAD, together with Vincent Rijmen...

Website

Compression function

The following tables compare technical information for compression functions of cryptographic hash function
Cryptographic hash function
A cryptographic hash function is a deterministic procedure that takes an arbitrary block of data and returns a fixed-size bit string, the hash value, such that an accidental or intentional change to the data will change the hash value...

s. The information comes from the specifications, please refer to them for more details.
Function Size (bit
Bit
A bit is the basic unit of information in computing and telecommunications; it is the amount of information stored by a digital device or other physical system that exists in one of two possible distinct states...

s)The omitted multiplicands are word sizes.
Words
×Passes
=RoundsSome authors interchange passes and rounds.
Operations
A: addition, subtraction; B: bitwise operation
Bitwise operation
A bitwise operation operates on one or more bit patterns or binary numerals at the level of their individual bits. This is used directly at the digital hardware level as well as in microcode, machine code and certain kinds of high level languages...

; L: lookup table
Lookup table
In computer science, a lookup table is a data structure, usually an array or associative array, often used to replace a runtime computation with a simpler array indexing operation. The savings in terms of processing time can be significant, since retrieving a value from memory is often faster than...

; S: shift, rotation.
Endian
Endianness
In computing, the term endian or endianness refers to the ordering of individually addressable sub-components within the representation of a larger data item as stored in external memory . Each sub-component in the representation has a unique degree of significance, like the place value of digits...


It refers to "byte" endianness only. If the operations consist of bitwise operations and lookup tables only, the endianness is irrelevant.
Specification
Word Digest
Cryptographic hash function
A cryptographic hash function is a deterministic procedure that takes an arbitrary block of data and returns a fixed-size bit string, the hash value, such that an accidental or intentional change to the data will change the hash value...

Chaining
valuesThe 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.
Computation
valuesThe 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.
Block Length
The maximum input size = 2length size - 1 bit
Bit
A bit is the basic unit of information in computing and telecommunications; it is the amount of information stored by a digital device or other physical system that exists in one of two possible distinct states...

s. For example, the maximum input size of SHA-1 = 264 - 1 bits.
HAVAL-3-128
HAVAL
HAVAL is a cryptographic hash function. Unlike MD5, but like most modern cryptographic hash functions, HAVAL can produce hashes of different lengths. HAVAL can produce hashes in lengths of 128 bits, 160 bits, 192 bits, 224 bits, and 256 bits...

32 ×4=128 ×8=256 ×32=1024 64 32×3=96 A B S little HAVAL
HAVAL-3-160
HAVAL
HAVAL is a cryptographic hash function. Unlike MD5, but like most modern cryptographic hash functions, HAVAL can produce hashes of different lengths. HAVAL can produce hashes in lengths of 128 bits, 160 bits, 192 bits, 224 bits, and 256 bits...

×5=160
HAVAL-3-192
HAVAL
HAVAL is a cryptographic hash function. Unlike MD5, but like most modern cryptographic hash functions, HAVAL can produce hashes of different lengths. HAVAL can produce hashes in lengths of 128 bits, 160 bits, 192 bits, 224 bits, and 256 bits...

×6=192
HAVAL-3-224
HAVAL
HAVAL is a cryptographic hash function. Unlike MD5, but like most modern cryptographic hash functions, HAVAL can produce hashes of different lengths. HAVAL can produce hashes in lengths of 128 bits, 160 bits, 192 bits, 224 bits, and 256 bits...

×7=224
HAVAL-3-256
HAVAL
HAVAL is a cryptographic hash function. Unlike MD5, but like most modern cryptographic hash functions, HAVAL can produce hashes of different lengths. HAVAL can produce hashes in lengths of 128 bits, 160 bits, 192 bits, 224 bits, and 256 bits...

×8=256
HAVAL-4-128
HAVAL
HAVAL is a cryptographic hash function. Unlike MD5, but like most modern cryptographic hash functions, HAVAL can produce hashes of different lengths. HAVAL can produce hashes in lengths of 128 bits, 160 bits, 192 bits, 224 bits, and 256 bits...

×4=128 32×4=128
HAVAL-4-160
HAVAL
HAVAL is a cryptographic hash function. Unlike MD5, but like most modern cryptographic hash functions, HAVAL can produce hashes of different lengths. HAVAL can produce hashes in lengths of 128 bits, 160 bits, 192 bits, 224 bits, and 256 bits...

×5=160
HAVAL-4-192
HAVAL
HAVAL is a cryptographic hash function. Unlike MD5, but like most modern cryptographic hash functions, HAVAL can produce hashes of different lengths. HAVAL can produce hashes in lengths of 128 bits, 160 bits, 192 bits, 224 bits, and 256 bits...

×6=192
HAVAL-4-224
HAVAL
HAVAL is a cryptographic hash function. Unlike MD5, but like most modern cryptographic hash functions, HAVAL can produce hashes of different lengths. HAVAL can produce hashes in lengths of 128 bits, 160 bits, 192 bits, 224 bits, and 256 bits...

×7=224
HAVAL-4-256
HAVAL
HAVAL is a cryptographic hash function. Unlike MD5, but like most modern cryptographic hash functions, HAVAL can produce hashes of different lengths. HAVAL can produce hashes in lengths of 128 bits, 160 bits, 192 bits, 224 bits, and 256 bits...

×8=256
HAVAL-5-128
HAVAL
HAVAL is a cryptographic hash function. Unlike MD5, but like most modern cryptographic hash functions, HAVAL can produce hashes of different lengths. HAVAL can produce hashes in lengths of 128 bits, 160 bits, 192 bits, 224 bits, and 256 bits...

×4=128 32×5=160
HAVAL-5-160
HAVAL
HAVAL is a cryptographic hash function. Unlike MD5, but like most modern cryptographic hash functions, HAVAL can produce hashes of different lengths. HAVAL can produce hashes in lengths of 128 bits, 160 bits, 192 bits, 224 bits, and 256 bits...

×5=160
HAVAL-5-192
HAVAL
HAVAL is a cryptographic hash function. Unlike MD5, but like most modern cryptographic hash functions, HAVAL can produce hashes of different lengths. HAVAL can produce hashes in lengths of 128 bits, 160 bits, 192 bits, 224 bits, and 256 bits...

×6=192
HAVAL-5-224
HAVAL
HAVAL is a cryptographic hash function. Unlike MD5, but like most modern cryptographic hash functions, HAVAL can produce hashes of different lengths. HAVAL can produce hashes in lengths of 128 bits, 160 bits, 192 bits, 224 bits, and 256 bits...

×7=224
HAVAL-5-256
HAVAL
HAVAL is a cryptographic hash function. Unlike MD5, but like most modern cryptographic hash functions, HAVAL can produce hashes of different lengths. HAVAL can produce hashes in lengths of 128 bits, 160 bits, 192 bits, 224 bits, and 256 bits...

×8=256
MD2 8 ×16=128 ×32=256 ×48=384 ×16=128 none 48×18=864 B n/a RFC 1319
MD4
MD4
The MD4 Message-Digest Algorithm is a cryptographic hash function developed by Ronald Rivest in 1990. The digest length is 128 bits. The algorithm has influenced later designs, such as the MD5, SHA-1 and RIPEMD algorithms....

32 ×4=128 ×16=512 64 16×3=48 A B S little RFC 1320
MD5
MD5
The MD5 Message-Digest Algorithm is a widely used cryptographic hash function that produces a 128-bit hash value. Specified in RFC 1321, MD5 has been employed in a wide variety of security applications, and is also commonly used to check data integrity...

16×4=64 RFC 1321
RIPEMD
RIPEMD
RIPEMD-160 is a 160-bit message digest algorithm developed in Leuven, Belgium, by Hans Dobbertin, Antoon Bosselaers and Bart Preneel at the COSIC research group at the Katholieke Universiteit Leuven, and first published in 1996...

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

Cryptanalysis

The following tables compare cryptanalysis
Cryptanalysis
Cryptanalysis is the study of methods for obtaining the meaning of encrypted information, without access to the secret information that is normally required to do so. Typically, this involves knowing how the system works and finding a secret key...

 status of cryptographic hash function
Cryptographic hash function
A cryptographic hash function is a deterministic procedure that takes an arbitrary block of data and returns a fixed-size bit string, the hash value, such that an accidental or intentional change to the data will change the hash value...

s. This table is probably out of date.
Function Digest
size
Rounds Best known attacks
Complexity:roundsThe omitted rounds are full.
Collision
Birthday attack
A birthday attack is a type of cryptographic attack that exploits the mathematics behind the birthday problem in probability theory. This attack can be used to abuse communication between two or more parties...

Second
preimage
Preimage attack
In cryptography, the preimage attack is a classification of attacks on hash functions for finding a message that has a specific hash value.There are two types of preimage attacks:...

Preimage
Preimage attack
In cryptography, the preimage attack is a classification of attacks on hash functions for finding a message that has a specific hash value.There are two types of preimage attacks:...

RIPEMD
RIPEMD
RIPEMD-160 is a 160-bit message digest algorithm developed in Leuven, Belgium, by Hans Dobbertin, Antoon Bosselaers and Bart Preneel at the COSIC research group at the Katholieke Universiteit Leuven, and first published in 1996...

128 48 218
RIPEMD-160 160 80 251:48
MD2 128 864 263.3 273
MD4
MD4
The MD4 Message-Digest Algorithm is a cryptographic hash function developed by Ronald Rivest in 1990. The digest length is 128 bits. The algorithm has influenced later designs, such as the MD5, SHA-1 and RIPEMD algorithms....

128 48 3 264 270.4
MD5
MD5
The MD5 Message-Digest Algorithm is a widely used cryptographic hash function that produces a 128-bit hash value. Specified in RFC 1321, MD5 has been employed in a wide variety of security applications, and is also commonly used to check data integrity...

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

External links

  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
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK