# RIPEMD

 related topics {math, number, function} {system, computer, user} {specie, animal, plant} {car, race, vehicle} {rate, high, increase} {work, book, publish} {group, member, jewish}

RIPEMD-160 (RACE Integrity Primitives Evaluation Message Digest) 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 (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") =
```

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") =
``` RIPEMD-160("") =