RIPEMD
Encyclopedia
RIPEMD-160 is a 160-bit message digest algorithm (cryptographic hash function
) 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. It is an improved version of RIPEMD, which in turn was based upon the design principles used in MD4
, and is similar in performance to the more popular SHA-1.
There also exist 128, 256 and 320-bit versions of this algorithm, called RIPEMD-128, RIPEMD-256, and RIPEMD-320, respectively. The 128-bit version was intended only as a drop-in replacement for the original RIPEMD, which was also 128-bit, and which had been found to have questionable security. The 256 and 320-bit versions diminish only the chance of accidental collision
, and don't have higher levels of security as compared to, respectively, RIPEMD-128 and RIPEMD-160.
RIPEMD-160 was designed in the open academic community, in contrast to the NSA-designed SHA-1 and SHA-2
algorithms. On the other hand, RIPEMD-160 appears to be used somewhat less frequently than SHA-1, which may have caused it to be less scrutinized than SHA.
RIPEMD-160 is not known to be constrained by any patents.
In August 2004, a collision was reported for the original RIPEMD. This does not apply to RIPEMD-160.
numbers. The following demonstrates a 43-byte ASCII
input and the corresponding RIPEMD-160 hash:
RIPEMD-160("The quick brown fox jumps over the lazy dog") =
37f332f68db77bd9d7edd4969571ad671cf9dd3b
Even a small change in the message will (with overwhelming probability) result in a completely different hash, e.g. changing d to c:
RIPEMD-160("The quick brown fox jumps over the lazy cog") =
132072df690933835eb8b6ad0b77e7b6f14acad7
The hash of a zero-length string is:
RIPEMD-160("") =
9c1185a5c5e9fc54612808977ee8f548b2258d31
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...
) developed in Leuven, Belgium
Leuven
Leuven is the capital of the province of Flemish Brabant in the Flemish Region, Belgium...
, by 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 and 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....
at the COSIC
COSIC
The Computer Security and Industrial Cryptography research group, commonly called COSIC, is a research group at the Department of Electrical Engineering of the Katholieke Universiteit Leuven, which is headed by Professor Bart Preneel, Vincent Rijmen, and Professor Ingrid Verbauwhede.The goal of...
research group at the Katholieke Universiteit Leuven
Katholieke Universiteit Leuven
The Katholieke Universiteit Leuven is a Dutch-speaking university in Flanders, Belgium.It is located at the centre of the historic town of Leuven, and is a prominent part of the city, home to the university since 1425...
, and first published in 1996. It is an improved version of RIPEMD, which in turn was based upon the design principles used in 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....
, and is similar in performance to the more popular SHA-1.
There also exist 128, 256 and 320-bit versions of this algorithm, called RIPEMD-128, RIPEMD-256, and RIPEMD-320, respectively. The 128-bit version was intended only as a drop-in replacement for the original RIPEMD, which was also 128-bit, and which had been found to have questionable security. The 256 and 320-bit versions diminish only the chance of accidental collision
Hash collision
Not to be confused with wireless packet collision.In computer science, a collision or clash is a situation that occurs when two distinct pieces of data have the same hash value, checksum, fingerprint, or cryptographic digest....
, and don't have higher levels of security as compared to, respectively, RIPEMD-128 and RIPEMD-160.
RIPEMD-160 was designed in the open academic community, in contrast to the NSA-designed SHA-1 and SHA-2
SHA-2
In cryptography, SHA-2 is a set of cryptographic hash functions designed by the National Security Agency and published in 2001 by the NIST as a U.S. Federal Information Processing Standard. SHA stands for Secure Hash Algorithm. SHA-2 includes a significant number of changes from its predecessor,...
algorithms. On the other hand, RIPEMD-160 appears to be used somewhat less frequently than SHA-1, which may have caused it to be less scrutinized than SHA.
RIPEMD-160 is not known to be constrained by any patents.
In August 2004, a collision was reported for the original RIPEMD. This does not apply to RIPEMD-160.
RIPEMD-160 hashes
The 160-bit RIPEMD-160 hashes (also termed RIPE message digests) are typically represented as 40-digit hexadecimalHexadecimal
In mathematics and computer science, hexadecimal is a positional numeral system with a radix, or base, of 16. It uses sixteen distinct symbols, most often the symbols 0–9 to represent values zero to nine, and A, B, C, D, E, F to represent values ten to fifteen...
numbers. The following demonstrates a 43-byte ASCII
ASCII
The American Standard Code for Information Interchange is a character-encoding scheme based on the ordering of the English alphabet. ASCII codes represent text in computers, communications equipment, and other devices that use text...
input and the corresponding RIPEMD-160 hash:
RIPEMD-160("The quick brown fox jumps over the lazy dog") =
37f332f68db77bd9d7edd4969571ad671cf9dd3b
Even a small change in the message will (with overwhelming probability) result in a completely different hash, e.g. changing d to c:
RIPEMD-160("The quick brown fox jumps over the lazy cog") =
132072df690933835eb8b6ad0b77e7b6f14acad7
The hash of a zero-length string is:
RIPEMD-160("") =
9c1185a5c5e9fc54612808977ee8f548b2258d31
External links
- RIPEMD-160: A Strengthened Version of RIPEMD (RIPEMD-160 specification and reference implementation)
- RIPEMD-160 Ecrypt page