RIPEMD160 (RACE Integrity Primitives Evaluation Message Digest) is a 160bit 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 SHA1.
There also exist 128, 256 and 320bit versions of this algorithm, called RIPEMD128, RIPEMD256, and RIPEMD320, respectively. The 128bit version was intended only as a dropin replacement for the original RIPEMD, which was also 128bit, and which had been found to have questionable security. The 256 and 320bit versions diminish only the chance of accidental collision, and don't have higher levels of security as compared to, respectively, RIPEMD128 and RIPEMD160.
RIPEMD160 was designed in the open academic community, in contrast to the NSAdesigned SHA1 and SHA2 algorithms. On the other hand, RIPEMD160 appears to be used somewhat less frequently than SHA1, which may have caused it to be less scrutinized than SHA.
RIPEMD160 is not known to be constrained by any patents.
In August 2004, a collision was reported for the original RIPEMD (PDF). This does not apply to RIPEMD160.
RIPEMD160 hashes
The 160bit RIPEMD160 hashes (also termed RIPE message digests) are typically represented as 40digit hexadecimal numbers. The following demonstrates a 43byte ASCII input and the corresponding RIPEMD160 hash:
RIPEMD160("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:
RIPEMD160("The quick brown fox jumps over the lazy cog") =
132072df690933835eb8b6ad0b77e7b6f14acad7
The hash of a zerolength string is:
RIPEMD160("") =
9c1185a5c5e9fc54612808977ee8f548b2258d31
[edit] See also
[edit] External links

related documents 
Sequential access 
XPointer 
Entropy encoding 
Canonical Encoding Rules 
Simple module 
EulerJacobi pseudoprime 
Elementary event 
Landau's function 
Star height problem 
Location parameter 
Pedal triangle 
Fibonacci 
Persistence 
Centralizer and normalizer 
Cfront 
Unknot 
Dining cryptographers protocol 
SAX 
Central moment 
Conjugate closure 
Binary symmetric channel 
XBasic 
List of basic mathematics topics 
Precondition 
Hurwitz polynomial 
Data element 
De BruijnNewman constant 
Filter (Unix) 
Randomization 
The Third Manifesto 

  