Skip to main content
Top

2021 | Book

The Theory of Hash Functions and Random Oracles

An Approach to Modern Cryptography

insite
SEARCH

About this book

Hash functions are the cryptographer’s Swiss Army knife. Even though they play an integral part in today’s cryptography, existing textbooks discuss hash functions only in passing and instead often put an emphasis on other primitives like encryption schemes. In this book the authors take a different approach and place hash functions at the center. The result is not only an introduction to the theory of hash functions and the random oracle model but a comprehensive introduction to modern cryptography.

After motivating their unique approach, in the first chapter the authors introduce the concepts from computability theory, probability theory, information theory, complexity theory, and information-theoretic security that are required to understand the book content. In Part I they introduce the foundations of hash functions and modern cryptography. They cover a number of schemes, concepts, and proof techniques, including computational security, one-way functions, pseudorandomness and pseudorandom functions, game-based proofs, message authentication codes, encryption schemes, signature schemes, and collision-resistant (hash) functions. In Part II the authors explain the random oracle model, proof techniques used with random oracles, random oracle constructions, and examples of real-world random oracle schemes. They also address the limitations of random oracles and the random oracle controversy, the fact that uninstantiable schemes exist which are provably secure in the random oracle model but which become insecure with any real-world hash function. Finally in Part III the authors focus on constructions of hash functions. This includes a treatment of iterative hash functions and generic attacks against hash functions, constructions of hash functions based on block ciphers and number-theoretic assumptions, a discussion of privately keyed hash functions including a full security proof for HMAC, and a presentation of real-world hash functions.

The text is supported with exercises, notes, references, and pointers to further reading, and it is a suitable textbook for undergraduate and graduate students, and researchers of cryptology and information security.

Table of Contents

Frontmatter
Chapter 1. Foundations
Abstract
Hash functions are amongst the most versatile objects in cryptography. This is in large portion due to the manifold different security properties that we would like a hash function to possess.
Arno Mittelbach, Marc Fischlin

Foundations of Modern Cryptography

Frontmatter
Chapter 2. Computational Security
Abstract
In the first part of this book we will look at the foundations of modern cryptography in general and the foundations of hash functions in particular. The goal of this part is to introduce the basic primitives such as one-way functions, pseudorandom functions, and collision-resistant hash functions, but also important applications such as encryption or digital signature schemes. We will build up the basics gradually, proving in detail most of the presented results.
Arno Mittelbach, Marc Fischlin
Chapter 3. Pseudorandomness and Computational Indistinguishability
Abstract
In the previous chapter we began our study of hash function properties with the introduction of computational security and one-wayness. While one-way functions are at the core of computational security and modern cryptography, the security guarantees given by a function that is merely one-way are relatively few.
Arno Mittelbach, Marc Fischlin
Chapter 4. Collision Resistance
Abstract
Consider the problem of storing a very large file whose integrity you would like to verify from time to time. Think backup. The file is too large to be stored on a flash drive, preventing you from keeping a local copy with which to verify that the file is still intact.
Arno Mittelbach, Marc Fischlin
Chapter 5. Encryption Schemes
Abstract
An introduction to cryptographic primitives would not be complete without a chapter on encryption schemes. While encryption capabilities are not amongst the many properties that we often ascribe to hash functions,1 hash functions can be used in the design of encryption schemes and play a vital part in larger cryptographic protocols that deploy encryption as one component.
Arno Mittelbach, Marc Fischlin
Chapter 6. Signature Schemes
Abstract
By now we have introduced most “standard” cryptographic primitives with the exception of one: digital signature schemes. Signature schemes can be regarded as the public-key analog to message authentication codes.
Arno Mittelbach, Marc Fischlin
Chapter 7. Non-cryptographic Hashing
Abstract
There are notions of hash functions originating from the area of fast storage and retrieval in data structures which have also found many applications in cryptography and other areas of computer science.
Arno Mittelbach, Marc Fischlin

The Random Oracle Methodology

Frontmatter
Chapter 8. The Random Oracle Model
Abstract
In the previous chapter we looked at dedicated forms of hash functions that we categorized as non-cryptographic hash functions. Their common denominator is that we can prove the existence of constructions that fulfill the properties (e.g., pairwise independence) without having to rely on unproven assumptions.
Arno Mittelbach, Marc Fischlin
Chapter 9. The Full Power of Random Oracles
Abstract
We have already seen a first glimpse of how random oracles simplify cryptographic proofs when we showed how to use random oracles to construct commitment schemes. Over the course of this book we will see many additional examples of how we can prove the security of cryptographic schemes with the help of random oracles, and this chapter, in particular, is dedicated to the study of how random oracles facilitate such security proofs.
Arno Mittelbach, Marc Fischlin
Chapter 10. Random Oracle Schemes in Practice
Abstract
In the following we give an overview about cryptographic schemes in practice and standards which rely on the random oracle methodology. In all cases the power of random oracles facilitates the design of very efficient solutions, usually combined with suitable number-theoretic primitives such as the discrete-logarithm-based one-way function or the RSA trapdoor function.
Arno Mittelbach, Marc Fischlin
Chapter 11. Limitations of Random Oracles
Abstract
Random oracles are a very powerful tool. As we have seen, they simultaneously give rise to one-way functions, collision-resistant hash functions, pseudorandom generators, symmetric encryption schemes, and more.
Arno Mittelbach, Marc Fischlin
Chapter 12. The Random Oracle Controversy
Abstract
Over the course of the previous chapters we have seen how random oracles allow for the creation of elegant and efficient schemes which can furthermore be proven secure in the random oracle model. In this chapter we have a closer look at what it means to have a security proof in the random oracle model rather than in the standard model.
Arno Mittelbach, Marc Fischlin

Hash Function Constructions

Frontmatter
Chapter 13. Iterated Hash Functions
Abstract
So far we have studied various hash function properties as well as use cases of hash functions. When unkeyed or used with a public key, hash functions can be collision resistant, second-preimage resistant, or one-way.
Arno Mittelbach, Marc Fischlin
Chapter 14. Constructing Compression Functions
Abstract
We have seen that cryptographic hash functions that can process arbitrarily long inputs can be built from fixed-input-length compression functions via the Merkle–Damgård transformation (Chapter 13).
Arno Mittelbach, Marc Fischlin
Chapter 15. Iterated Hash Functions in Practice
Abstract
In the previous chapters we discussed how hash functions can be constructed by iterating fixed-input-length primitives such as compression functions. We now take a brief detour away from the theory of hash functions and instead discuss a few of the most important hash functions used in practice.
Arno Mittelbach, Marc Fischlin
Chapter 16. Constructions of Keyed Hash Functions
Abstract
In the previous chapters we studied constructions of hash functions in the unkeyed (resp. publicly keyed) setting for security properties such as collision resistance or second-preimage resistance.
Arno Mittelbach, Marc Fischlin
Chapter 17. Constructing Random Oracles—Indifferentiability
Abstract
The holy grail of hash function design is to construct a hash function which behaves like a random oracle. This is, of course, impossible (see Chapter 12). Nevertheless, while we know that we cannot construct an actual random oracle the goal should still be to come as close as possible.
Arno Mittelbach, Marc Fischlin
Chapter 18. Constructing Random Oracles—UCEs
Abstract
Indifferentiability provides us with a framework to analyze and sanity-check hash function constructions that are based on a simpler primitive such as a compression function or a block cipher.
Arno Mittelbach, Marc Fischlin
Backmatter
Metadata
Title
The Theory of Hash Functions and Random Oracles
Authors
Arno Mittelbach
Prof. Dr. Marc Fischlin
Copyright Year
2021
Electronic ISBN
978-3-030-63287-8
Print ISBN
978-3-030-63286-1
DOI
https://doi.org/10.1007/978-3-030-63287-8

Premium Partner