[Book] Serious Cryptography

First Post:

Last Update:

Word Count:
270

Read Time:
1 min

Introduction

This article serves as one of my study notes while reading Serious Cryptography (by Jean-Philippe Aumasson).

As I continue to learn practical cryptography, I document important concepts, techniques and figures, along with my own understanding.

⚠️ This is a work-in-progress note.

The content will be continuously updated as I progress through the book.

El Libro

Chapter 6 - Hash

Secure Hash Function

Preimage Resistance

A preimage of a given hash value, H, is any message, M, such that Hash(M) = H. Preimage Resistance describes the security guaratee that given a random hash value, an attacker will never find a preimage of that hash value. Indeed, you can sometimes call hash hash functions one-way functions because you can go from the message to its hash but not the other way around.

First-preimage resistance (or just preimage resistance) describes cases where it’s practically impossible to find a message that hashes to a given value. Second-preimage resistance describes the case that when given a message, M1, it’s practically impossible to find another message, M2, that hashes to the same value that M1 does.

Collision Resistance

Whatever hash function you choose, collisions will inevitably exist because of the pigeonhole principle, which posits that if you have m holes and n pigeons to put into those holes and if n is greater than m, at least one hole must contain more than one pigeon.

Chapter 7 - Keyed Hashing

Anyone can ocmpute the hash value of a message and verify that a particular value. When you want only specific people to compute hashes, however, you will’s hash with secret keys using keyed hash functions.