IFCCI

Hashing and Cryptography

What is Hashing?

3 min readLesson 5 of 12
42%

Learning Objectives

  1. 1Define hashing and explain its role in cryptography and cryptocurrencies
  2. 2Understand how hash functions transform any input into a fixed-length output
  3. 3Identify common hash functions including MD5, SHA-1, SHA-2, and SHA-3
  4. 4Explain why SHA-256 is specifically important to Bitcoin

Before We Talk About Bitcoin Mining, Let's Talk About Hashing

Before we dive into Bitcoin mining, there's an important concept we need to understand first: hashing.

To really grasp how Bitcoin (and other cryptocurrencies) work, understanding what a hash is and how it works is essential.

When you hear "hash," you might think of breakfast hash browns or even cannabis concentrate, but that's not the kind of hash we're talking about here.

In this lesson, we'll break down the technical concept of hashing in a simple way. This knowledge is key to understanding Bitcoin mining, so don't skip this part!

What Is Hashing?

Hashing is a cryptographic process that transforms any input data—no matter the size—into a fixed-length string of characters.

Let's break that down:

  • Cryptography is the science of securing information so that only intended recipients can read it.
  • The "crypto" in cryptocurrencies comes from cryptography.
  • Hashing is a major element of cryptography and powers much of what makes cryptocurrencies secure.

How Does Hashing Work?

Hashing uses a hash function to take any kind of input and produce an output of a fixed length.

For example, using the SHA-1 hash function:

InputHash Output (SHA-1)
Hellof7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
HI8c8780d0b70c5ef42a534846cc042629cf07a440
Ica73ab65568cd125c2d27a22bbd9e863c10b675d

Despite the different input lengths, the output is always 40 characters long when using SHA-1. Other hash functions may produce longer or shorter results, but each has a fixed length.

Why Are Hashes Important?

Think of a hash as a digital fingerprint:

  • The same input always produces the same hash.
  • Even a tiny change in input (like "Hello" vs "hello") results in a totally different hash.
  • No two different inputs will ever produce the same hash (ideally).
  • You cannot reverse a hash to figure out the original input—this one-way nature keeps data secure.

What Is a Hash Function?

A hash function is a mathematical formula (an algorithm) that takes input data of any size and turns it into an output of a fixed length. It doesn't matter if the input is a single word or an entire book—each input will generate a unique hash.

Hash functions are designed so that:

  • You can't tell what the input was just by looking at the hash.
  • Even small changes in the input create vastly different hashes.
  • Hashes look completely random, even though they're always derived from a specific input.

Common Hash Functions

All hash functions work the same way: input goes in, scrambled hash comes out. Here are a few you may encounter:

  • MD5 – An older hash function. It used to be secure, but now it's easily broken by hackers.
  • SHA (Secure Hash Algorithm) – A widely used family of hash functions with multiple versions:
    • SHA-1 (used in our earlier example)
    • SHA-2 (a more secure version)
    • SHA-3 (the newest family)

SHA-256: The One Used in Bitcoin

The hash function most important to Bitcoin is SHA-256, which is part of the SHA-2 family.

Here's what makes it special:

  • It produces a 64-character hash (equal to 256 bits).
  • It's used extensively in the Bitcoin system—for mining, creating addresses, and more.
  • No matter the size of the input (even if it's the entire Harry Potter series), the output is always 64 alphanumeric characters long.

Summary

  • Hashing turns any data into a fixed-length string.
  • It's a one-way, irreversible process that keeps data secure.
  • Hash functions are the tools used to create hashes.
  • SHA-256 is the hash function used by Bitcoin.

In the next lesson, we'll build on this knowledge to understand how Bitcoin mining uses hashing—so stay tuned!

Key Takeaways

  1. 1Hashing is a cryptographic process that transforms any input data into a fixed-length string of characters, acting as a digital fingerprint
  2. 2Hash functions are one-way and irreversible—you cannot determine the original input from its hash output
  3. 3The same input always produces the same hash, but even a tiny change in input creates a completely different hash
  4. 4SHA-256, part of the SHA-2 family, is the hash function used by Bitcoin—it always produces a 64-character output regardless of input size

Knowledge Check

1. What is a hash function in the context of cryptography?