Jump to content

RIPEMD

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Rabbler (talk | contribs) at 08:20, 4 March 2009 (→‎External links). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

RIPEMD-160 (RACE Integrity Primitives Evaluation Message Digest) is a 160-bit message digest algorithm (and 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 family of algorithms, SHA. 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-1.

RIPEMD-160 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 RIPEMD-160.

RIPEMD-160 hashes

The 160-bit RIPEMD-160 hashes (also termed RIPE message digests) are typically represented as 40-digit hexadecimal 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

See also

External links