Avoiding collisions Cryptographic hash functions. Table of contents

Similar documents
1 Cryptographic hash functions

Avoiding collisions Cryptographic hash functions. Table of contents

Notes for Lecture 9. 1 Combining Encryption and Authentication

1 Cryptographic hash functions

Known and Chosen Key Differential Distinguishers for Block Ciphers

CPSC 467: Cryptography and Computer Security

REU 2015: Complexity Across Disciplines. Introduction to Cryptography

Lecture 14: Cryptographic Hash Functions

Lecture 11: Hash Functions, Merkle-Damgaard, Random Oracle

CPSC 467: Cryptography and Computer Security

COS433/Math 473: Cryptography. Mark Zhandry Princeton University Spring 2017

Limits on the Efficiency of One-Way Permutation-Based Hash Functions

ECS 189A Final Cryptography Spring 2011

Foundations of Network and Computer Security

Linearization and Message Modification Techniques for Hash Function Cryptanalysis

Block ciphers And modes of operation. Table of contents

Foundations of Network and Computer Security

Cryptographic Hash Functions

Lecture 10 - MAC s continued, hash & MAC

Attacks on hash functions. Birthday attacks and Multicollisions

Cryptographic Hash Functions Part II

HASH FUNCTIONS. Mihir Bellare UCSD 1

Security Analysis of the Compression Function of Lesamnta and its Impact

An introduction to Hash functions

HASH FUNCTIONS 1 /62

ENEE 457: Computer Systems Security 09/19/16. Lecture 6 Message Authentication Codes and Hash Functions

Hash Functions. Ali El Kaafarani. Mathematical Institute Oxford University. 1 of 34

Lecture 1. Crypto Background

Algebraic properties of SHA-3 and notable cryptanalysis results

Provable Security in Symmetric Key Cryptography

Understanding Cryptography A Textbook for Students and Practitioners by Christof Paar and Jan Pelzl. Chapter 11 Hash Functions ver.

12 Hash Functions Defining Security

On the Security of Hash Functions Employing Blockcipher Post-processing

Analysis of cryptographic hash functions

REU 2015: Complexity Across Disciplines. Introduction to Cryptography

Online Cryptography Course. Collision resistance. Introduc3on. Dan Boneh

Full Key-Recovery Attacks on HMAC/NMAC-MD4 and NMAC-MD5

On High-Rate Cryptographic Compression Functions

Problem 1. k zero bits. n bits. Block Cipher. Block Cipher. Block Cipher. Block Cipher. removed

Public-key Cryptography: Theory and Practice

Crypto Engineering (GBX9SY03) Hash functions

Provable Security of Cryptographic Hash Functions

Cryptographic Hashes. Yan Huang. Credits: David Evans, CS588

Introduction to Cryptography

Beyond the MD5 Collisions

New attacks on Keccak-224 and Keccak-256

ENEE 459-C Computer Security. Message authentication (continue from previous lecture)

Quantum Preimage and Collision Attacks on CubeHash

1 Maintaining a Dictionary

Full Key-Recovery Attacks on HMAC/NMAC-MD4 and NMAC-MD5

New Attacks on the Concatenation and XOR Hash Combiners

Winter 2008 Introduction to Modern Cryptography Benny Chor and Rani Hod. Assignment #2

Authentication. Chapter Message Authentication

A Generalization of PGV-Hash Functions and Security Analysis in Black-Box Model

Attacks on hash functions: Cat 5 storm or a drizzle?

Building Quantum-One-Way Functions from Block Ciphers: Davies-Meyer and Merkle-Damgård Constructions

Introduction to Cryptography k. Lecture 5. Benny Pinkas k. Requirements. Data Integrity, Message Authentication

Contributions to Cryptanalysis: Design and Analysis of Cryptographic Hash Functions

Security Analysis and Comparison of the SHA-3 Finalists BLAKE, Grøstl, JH, Keccak, and Skein

The Random Oracle Paradigm. Mike Reiter. Random oracle is a formalism to model such uses of hash functions that abound in practical cryptography

Extending Oblivious Transfers Efficiently

2: Iterated Cryptographic Hash Functions

Provable Chosen-Target-Forced-Midx Preimage Resistance

Modern Cryptography Lecture 4

Preimage and Pseudo-Collision Attacks on Step-Reduced SM3 Hash Function

Constructing secure MACs Message authentication in action. Table of contents

Foundations of Network and Computer Security

A Composition Theorem for Universal One-Way Hash Functions

Symmetric Crypto Systems

Security Properties of Domain Extenders for Cryptographic Hash Functions

Solution of Exercise Sheet 7

Some Attacks on Merkle-Damgård Hashes

Domain Extension of Public Random Functions: Beyond the Birthday Barrier

Provable Seconde Preimage Resistance Revisited

Full Key-Recovery Attacks on HMAC/NMAC-MD4 and NMAC-MD5

Message Authentication Codes from Unpredictable Block Ciphers

Hash Functions. Adam O Neill Based on

Question 1. The Chinese University of Hong Kong, Spring 2018

Message Authentication Codes from Unpredictable Block Ciphers

MESSAGE AUTHENTICATION CODES and PRF DOMAIN EXTENSION. Mihir Bellare UCSD 1

Lecture 15: Message Authentication

Hashes and Message Digests Alex X. Liu & Haipeng Dai

Cryptanalysis of Tweaked Versions of SMASH and Reparation

Security of Permutation-based Compression Function lp231

Symmetric Crypto Systems

Low-weight Pseudo Collision Attack on Shabal and Preimage Attack on Reduced Shabal-512

Cryptanalysis of a Message Authentication Code due to Cary and Venkatesan

SMASH - A Cryptographic Hash Function

AURORA: A Cryptographic Hash Algorithm Family

A Domain Extender for the Ideal Cipher

CPSC 467: Cryptography and Computer Security

Breaking H 2 -MAC Using Birthday Paradox

New Proofs for NMAC and HMAC: Security without Collision-Resistance

SPCS Cryptography Homework 13

The Hash Function JH 1

has the solution where M = Since c = w 2 mod n we have c w 2 (mod p) and c w 2 (mod q);

Public-seed Pseudorandom Permutations EUROCRYPT 2017

How to Improve Rebound Attacks. María Naya-Plasencia FHNW - Switzerland

ZCZ: Achieving n-bit SPRP Security with a Minimal Number of Tweakable-block-cipher Calls

Block Ciphers/Pseudorandom Permutations

Transcription:

Avoiding collisions Cryptographic hash functions Foundations of Cryptography Computer Science Department Wellesley College Fall 2016 Table of contents Introduction Davies-Meyer Hashes in Practice

Hash functions revisited Collision-resistant hash functions are generally designed in two steps: 1. A compression function is designed to handle fixed-length hashes. 2. The compression function is extended to handle arbitrary input lengths (think Merkle-Damgård). Today we discuss the first step. Hash functions from block ciphers Collision-resistant compression functions can be built from block ciphers. Davies-Meyer construction: Given a block cipher F with n-bit key length and `-bit block length, define h : {0, 1} n+`! {0, 1}` by h(k, x) def = F k (x) x. Bad news: A prove of collision-resistance based on the assumption that F is a strong pseudorandom permutation is not known. However,...

The ideal cipher model The ideal-cipher model posits that all parties have access to an oracle for a random keyed permutation F : {0, 1} n {0, 1}` and its inverse F 1. The only way to compute either F or F 1 is to explicitly query the oracle with key (k, x). Such a model implies the absence related-key attacks since permutations F (k, ) and F (k 0, ) mustbehave independently even if k and k 0 di er by a single bit. The ideal cipher model Theorem 6.5. If F is modeled as an ideal cipher, then the Davies-Meyer construction yields a collision-resistant compression function. Concretely, any attacker making q < 2`/2 queries to its ideal-cipher oracles finds a collision with probability at most q 2 /(2` 2`/2 ). Proof. Here we consider a probabilistic experiment in which for each k 2 {0, 1} n the function F (k, ) :{0, 1}`! {0, 1}` is chosen uniformly from the set Perm` of permutations on `-bit strings and the attacker is given access to F and F 1. That attacker then tries to find a colliding pair (k, x), (k 0, x 0 )for which F (k, x) x = F (k 0, x 0 ) x 0. We assume that: if attacker outputs a colliding pair (k, x), (k 0, x 0 ) then it has previously made the queries to determine F (k, x) and F (k 0, x 0 ); the attacker never make the same query more than once; and once it has learned y = F (k, x) isneverqueriesf 1 (k, y) (and vice versa).

The ideal cipher model Proof continued. The ith query (k i, x i )tof reveals only hash value h i def = h(k i, x i )=F (k i, x i ) x i. Similarly, The ith query to F 1 given result x i = F 1 (k i, y i ) reveals only hash value def h i = h(k i, x i )=y i F 1 (k i, y i ). The attacker does not obtain a collision unless h i = h j for some i 6= j. Fix i, j with i > j, and consider the probability that h i = h j.atthetime of the ith query, the value of h j is fixed. Collision occurs only if the attacker queries (k i, x i )tof and obtains F (k i, x i )=h j x i or queries (k i, y i )tof 1 and obtains F 1 (k i, y i )=h j y i. Either event occurs with probability at most 1/(2` (i 1)) and since i apple q < 2`/2, the probability that h i = h j is at most 2/(2` 2`/2 ). q Taking the union bound over all < q 2 2 /2 pairs does the trick. MD5 MD5 is a hash function with 128-bit output length designed in 1991. In 2004 a team of Chinese cryptanalysts presented a method for finding collisions. Since then there methods have been improved and collisions can be found in under a minute on a desktop PC. MD5 should not be used, but is still found in legacy code.

Introduction Davies-Meyer Hashes in Practice SHA-0, SHA-1, and SHA-2 The Secure Hash Algorithm (SHA) refers to a series of cryptographic hash functions standardized by NIST. The best known, SHA-1, was introduced in 1995. So far, no explicit collisions have been found in SHA-1. However, theoretical analysis indicates that they can be found using significantly fewer than 280 hash-function evaluations required by the birthday attack. Time to move on to SHA-2* which currently does not appear to have these weaknesses. *Comprised of two related functions: SHA-256 and SHA-512 with 256- and 512-bit outputs lengths. Introduction Davies-Meyer Secure Hash Algorithm family All hash functions in the SHA family are constructed using the design we have just seen. A compression function is defined by applying Davies-Meyer construction to a block cipher. This function is then extended to support arbitrary length inputs using Merkle-Damga d. The block cipher used here was designed specifically for building the compression function. Hashes in Practice

SHA-3 (Keccak) In 2007 NIST announced a public competition to design a new cryptograph hash function to be called SHA-3. As for AES, competition was completely open and transparent. The 51 first-round candidates were narrowed to five finalists in 2010 and subjected to intense scrutiny by the cryptographic community over the next two years. NIST announced the selection of Keccak as the winner in October 2012.