Comparison of cryptographic hash functions
Encyclopedia
The following tables compare general and technical information for a number of cryptographic hash function
s.
s: year, designer, references, etc.
s. The information comes from the specifications, please refer to them for more details.
status of cryptographic hash function
s. This table is probably out of date.
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 functionCryptographic 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 functionCryptographic 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 cryptanalysisCryptanalysis
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
- 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