> For the complete documentation index, see [llms.txt](https://hub.bsvblockchain.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hub.bsvblockchain.org/higher-learning/bsv-academy/bitcoin-primitives-hash-functions/ripemd-160-overview.md).

# RIPEMD-160 Overview

<figure><img src="https://hub.bsvblockchain.org/~gitbook/image?url=https%3A%2F%2F2147185133-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FWtK4ab0ntyPZBmGoKq4t%252Fuploads%252Fgit-blob-e41a9413effc9f3a734d4d5b946e898bc0200334%252FBSVA-HashFunctions_Ch5L1_DA1%2520%281%29.gif%3Falt%3Dmedia&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=6436d50b&#x26;sv=2" alt=""><figcaption></figcaption></figure>

#### Why Learn About RIPEMD-160?

The other important hash function used in **BSV** is **RIPEMD-160**.

* You don’t need to know its inner workings to understand Bitcoin.
* But seeing its **design philosophy and history** helps highlight why it’s trusted and still relevant.

***

#### A Brief History of RIPE (Race Integrity Primitives Evaluation)

In the **1990s**, the **European Union** established the **RIPE consortium** to develop better **integrity primitives** (cryptographic tools to ensure data integrity).

At the time:

* The most popular hash functions were **MD4** and **MD5**, created by Ron Rivest.
* RIPE evaluated these and proposed **RIPEMD**, a stronger version of MD4.

👉 **RIPEMD** essentially ran **two parallel versions of MD4** with improvements to **bit shifts** and **word ordering**.

Shortly after, **SHA-1** was published by NIST as an MD5-based improvement.

***

#### RIPEMD-160

In **1995**, cryptographer **Hans Dobbertin** found **collisions** in the original RIPEMD.

* In response, **Dobbertin et al. (1996)** proposed **RIPEMD-160** and **RIPEMD-128**.
* Both are still considered **secure hash functions today**.

Key changes in **RIPEMD-160**:

* **160-bit output** (longer digest for stronger security).
* **Five rounds of compression** (instead of three).
* Carefully chosen **bit shifts (5–15 bits)**.
* Each message block rotated by **different amounts**.
* Shifts and constants chosen to avoid exploitable patterns.

Performance trade-offs:

* \~15% slower than **SHA-1**.
* Half as fast as the original **RIPEMD**.
* Four times slower than **MD4**.
* On modern processors, this **performance hit is negligible**.

👉 **Design philosophy:** Make the **minimum necessary changes** to strengthen RIPEMD while preserving confidence from MD4, MD5, and RIPEMD research.

***

#### Use Cases

* In **Bitcoin (and therefore, BSV)**, RIPEMD-160 is combined with SHA-256 to produce **HASH-160** (used in address creation).
* Outside Bitcoin, it is notably used in **PGP (Pretty Good Privacy)** for **email encryption**.

***

✅ **Summary:** RIPEMD-160 is a **secure, reliable, and efficient hash function** that balances **proven design principles** with **increased security**, making it suitable for long-term cryptographic use.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://hub.bsvblockchain.org/higher-learning/bsv-academy/bitcoin-primitives-hash-functions/ripemd-160-overview.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
