Cryptographic hash functions from expander graphs Denis Charles, Microsoft Research Eyal Goren, McGill University Kristin Lauter, Microsoft Research ECC.

Slides:



Advertisements
Similar presentations
Signatures for Network Coding Denis Charles Kamal Jain Kristin Lauter Microsoft Research.
Advertisements

Spreading Alerts Quietly and the Subgroup Escape Problem Aleksandr Yampolskiy (Yale) Joint work with James Aspnes, Zoë Diamadi, Kristian Gjøsteen, and.
Notation Intro. Number Theory Online Cryptography Course Dan Boneh
Approximation Algorithms for Unique Games Luca Trevisan Slides by Avi Eyal.
Noga Alon Institute for Advanced Study and Tel Aviv University
Symmetric Groups and Ramanujan Graphs Mike Krebs, Cal State LA (joint work with A. Shaheen)
 Stream ciphers o Encrypt chars/bits one at a time o Assume XOR w the key, need long key to be secure  Keystream generators (pseudo-random key) o Synchronous.
Session 5 Hash functions and digital signatures. Contents Hash functions – Definition – Requirements – Construction – Security – Applications 2/44.
Announcements: 1. HW7 due next Tuesday. 2. Inauguration today! Questions? This week: Discrete Logs, Diffie-Hellman, ElGamal Discrete Logs, Diffie-Hellman,
Announcements:Questions? This week: Discrete Logs, Diffie-Hellman, ElGamal Discrete Logs, Diffie-Hellman, ElGamal Hash Functions and SHA-1 Hash Functions.
Chapter 4  Hash Functions 1 Overview  Cryptographic hash functions are functions that: o Map an arbitrary-length (but finite) input to a fixed-size output.
Announcements: 1. HW6 due now 2. HW7 posted Questions? This week: Discrete Logs, Diffie-Hellman, ElGamal Discrete Logs, Diffie-Hellman, ElGamal Hash Functions.
Secure Hashing and DSS Sultan Almuhammadi ICS 454 Principles of Cryptography.
EXPANDER GRAPHS Properties & Applications. Things to cover ! Definitions Properties Combinatorial, Spectral properties Constructions “Explicit” constructions.
For slideshow: click “Research and Talks” from slideshow: click “Research and Talks”
Expanders Eliyahu Kiperwasser. What is it? Expanders are graphs with no small cuts. The later gives several unique traits to such graph, such as: – High.
For slideshow: click “Research and Talks” from slideshow: click “Research and Talks”
An Approach to Generalized Hashing Michael Klipper With Dan Blandford Guy Blelloch.
CS470, A.SelcukHash Functions1 Cryptographic Hash Functions CS 470 Introduction to Applied Cryptography Instructor: Ali Aydin Selcuk.
Hash Functions Nathanael Paul Oct. 9, Hash Functions: Introduction Cryptographic hash functions –Input – any length –Output – fixed length –H(x)
Ramanujan Graphs of Every Degree Adam Marcus (Crisply, Yale) Daniel Spielman (Yale) Nikhil Srivastava (MSR India)
Undirected ST-Connectivity In Log Space
Expander Graphs, GRH, and the Elliptic Curve Discrete Logarithm Stephen D. Miller Rutgers University Joint work with David Jao and Ramarathnam Venkatesan.
Cryptographic Hashing: Blockcipher-Based Constructions, Revisited Tom Shrimpton Portland State University.
For slideshow: click “Research and Talks” from slideshow: click “Research and Talks”
Lecture 4 Cryptographic Tools (cont) modified from slides of Lawrie Brown.
Network Security Essentials Fifth Edition by William Stallings Fifth Edition by William Stallings.
1 Entropy Waves, The Zigzag Graph Product, and New Constant-Degree Expanders Omer Reingold Salil Vadhan Avi Wigderson Lecturer: Oded Levy.
XMSS - A Practical Forward Secure Signature Scheme based on Minimal Security Assumptions J. Buchmann, E. Dahmen, A. Hülsing | TU Darmstadt |
Lecture slides prepared for “Computer Security: Principles and Practice”, 2/e, by William Stallings and Lawrie Brown, Chapter 21 “Public-Key Cryptography.
Hash Functions A hash function H accepts a variable-length block of data M as input and produces a fixed-size hash value h = H(M) Principal object is.
An introduction to expander families and Ramanujan graphs
Chapter 4 Relations and Digraphs
Cayley Graphs & Expanders Steve the presenter. Some history Arthur Cayley.
Lecture 4.1: Hash Functions, and Message Authentication Codes CS 436/636/736 Spring 2015 Nitesh Saxena.
Hashing Algorithms: Basic Concepts and SHA-2 CSCI 5857: Encoding and Encryption.
Chapter 21 Public-Key Cryptography and Message Authentication.
Theory of Computation II Topic presented by: Alberto Aguilar Gonzalez.
1 Hash Functions. 2 A hash function h takes as input a message of arbitrary length and produces as output a message digest of fixed length
15-853:Algorithms in the Real World
Cryptographic Hash Functions and Protocol Analysis
CSCI 115 Chapter 8 Topics in Graph Theory. CSCI 115 §8.1 Graphs.
Hash Functions Ramki Thurimella. 2 What is a hash function? Also known as message digest or fingerprint Compression: A function that maps arbitrarily.
Artur Czumaj DIMAP DIMAP (Centre for Discrete Maths and it Applications) Computer Science & Department of Computer Science University of Warwick Testing.
11 RSA Variants.  Scheme ◦ Select s.t. p and q = 3 mod 4 ◦ n=pq, public key =n, private key =p,q ◦ y= e k (x)=x (x+b) mod n ◦ x=d k (y)=  y mod n.
CS426Fall 2010/Lecture 51 Computer Security CS 426 Lecture 5 Cryptography: Cryptographic Hash Function.
Hashes Lesson Introduction ●The birthday paradox and length of hash ●Secure hash function ●HMAC.
VSH, an efficient and provable collision resistant hash function Scott Contini 1, Arjen K. Lenstra 2, Ron Steinfeld 1 1 Macquarie University 2 Lucent Technologies.
Presented by Alon Levin
Expanders and Ramanujan Graphs Mike Krebs, Cal State LA For slideshow: click “Research and Talks” from
Applications of Ramanujan Graphs in Cryptography Kristin Lauter Microsoft Research Cryptography Group IPAM Expander Graphs and Applications February 12,
1 Entropy Waves, The Zigzag Graph Product, and New Constant-Degree Expanders Omer Reingold Salil Vadhan Avi Wigderson Lecturer: Oded Levy.
Data Integrity / Data Authentication. Definition Authentication (Signature) algorithm - A Verification algorithm - V Authentication key – k Verification.
Expanders and Ramanujan Graphs Mike Krebs, Cal State LA For slideshow: click “Research and Talks” from
Cryptographic Hash Function. A hash function H accepts a variable-length block of data as input and produces a fixed-size hash value h = H(M). The principal.
Coding, Complexity and Sparsity workshop
Cryptographic Hash Functions Part I
Cryptography Lecture 13.
ICS 454 Principles of Cryptography
Complexity of Expander-Based Reasoning and the Power of Monotone Proofs Sam Buss (UCSD), Valentine Kabanets (SFU), Antonina Kolokolova.
ICS 454 Principles of Cryptography
Prabhas Chongstitvatana
VSH, an efficient and provable collision resistant hash function
Graphs G = (V, E) V are the vertices; E are the edges.
Cryptography Lecture 14.
Cryptography Lecture 13.
Cryptography Lecture 13.
Hash Function Requirements
Explicit near-Ramanujan graphs of every degree
Presentation transcript:

Cryptographic hash functions from expander graphs Denis Charles, Microsoft Research Eyal Goren, McGill University Kristin Lauter, Microsoft Research ECC 2006, Fields Institute September 18, 2006

Background Crypto04 Rump session: collisions found in the most commonly used hash functions MD4, MD5, … SHA-0, SHA-1 also under attack NIST organizes a series of workshops (2005, 2006) and a competition ( ) to select new hash functions

Hash functions A hash function maps bit strings of some finite length to bit strings of some fixed finite length easy to compute unkeyed (unkeyed hash functions do not require a secret key to compute the output) Collision resistant

Collision-resistance A hash function h is collision resistant if it is computationally infeasible to find two distinct inputs, x, y, which hash to the same output h(x) = h(y). A hash function h is preimage resistant if, given any output of h, it is computationally infeasible to find an input, x, which hashes to that output.

Provable hash function Goal: to construct efficiently computable collision-resistant hash functions. It is a provable hash function if to compute a collision is to solve some other well-known hard problem, such as factoring or discrete log.

Related work: (provable hashes) VSH [Contini, Lenstra, Steinfeld, 2005] ECDLP-based [?] Zemor-Tillich `94, Hashing with SL 2 (Z) Joye-Quisquater, `97, Quisquater 2004, Liardet 2004 Goldreich, 2000, One-way functions from LPS graphs

Construction of the hash function: k-regular graph G Each vertex in the graph has a label Input: a bit string Bit string is divided into blocks Each block used to determine which edge to follow for the next step in the graph No backtracking allowed! Output: label of the final vertex of the walk

Simple idea Random walks on expander graphs are a good source of pseudo-randomness Are there graphs such that finding collisions is hard? (i.e. finding distinct paths between vertices is hard) Bad idea: hypercube (routing is easy, can be read off from the labels)

What kind of graph to use? Random walks on expander graphs mix rapidly: log(n) steps to a random vertex Ramanujan graphs are optimal expanders To find a collision: find two distinct walks of the same length which end at same vertex, which you can easily do if you can find cycles

Expander graphs G = (V,E) a graph with vertex set V and edge set E. A graph is k-regular if each vertex has k edges coming out of it. An expander graph with N vertices has expansion constant c > 0 if for any subset U of V of size |U| ≤ N/2, the boundary (neighbors of U not in U) |Г(U)| ≥ c|U|.

Expansion constant The adjacency matrix of an undirected graph is symmetric, and therefore all its eigenvalues are real. For a connected k-regular graph, G, the largest eigenvalue is k, and all others are strictly smaller k > µ 1 ≥ µ 2 ≥ · · · ≥ µ N-1. Then the expansion constant c can be expressed in terms of the eigenvalues as follows: c ≥ 2(k − µ 1 )/(3k − 2µ 1 ) Therefore, the smaller the eigenvalue µ 1, the better the expansion constant.

Ramanujan graphs Theorem (Alon-Boppana) X m an infinite family of connected, k-regular graphs, (with the number of vertices in the graphs tending to infinity), that lim inf µ 1 (X m ) ≥ 2√(k−1). Def. Ramanujan graph, a k-regular connected graph satisfying µ 1 ≤ 2√(k−1).

Example: graph of supersingular elliptic curves modulo p (Pizer) Vertices: supersingular elliptic curves mod p Curves are defined over GF(p 2 ) Labeled by j-invariants Vertices can also be thought of as maximal orders in a quaternion algebra # vertices ~ p/12 p ~ 2 256

Pizer graph Edges: degree ℓ isogenies between them k = ℓ+1 – regular Graph is Ramanujan (Eichler, Shimura) Undirected if we assume p == 1 mod 12

Isogenies The degree of a separable isogeny is the size of its kernel To construct an ℓ -isogeny from an elliptic curve E to another, take a subgroup-scheme C of size ℓ, and take the quotient E/C. Formula for the isogeny and equation for E/C were given by Velu.

One step of the walk: (ℓ=2) E 1 : y 2 = x 3 +a 4 x+a 6 j(E 1 )=1728*4a 4 3 /(a a 6 2 ) 2-torsion point Q = (r, 0) E 2 = E 1 /Q (quotient of groups) E 2 : y 2 = x 3 − (4a r 2 )x + (8a 6 − 14r 3 ). E 1  E 2 (x, y)  (x +(3r 2 + a 4 )/(x-r), y − (3r 2 + a 4 )y/(x-r) 2 )

Collision resistance Finding collisions reduces to finding isogenies between elliptic curves: Finding a collision  finding 2 distinct paths between any 2 vertices (or a cycle) Finding a pre-image  finding any path between 2 given vertices O(√p) birthday attack to find a collision

Hard Problems ? Problem 1. Produce a pair of supersingular elliptic curves, E 1 and E 2, and two distinct isogenies of degree ℓ n between them. Problem 2. Given E, a supersingular elliptic curve, find an endomorphism f : E  E of degree ℓ 2n, not the multiplication by ℓ n map. Problem 3. Given two supersingular elliptic curves, find an isogeny of degree ℓ n between them.

Timings p 192-bit prime and ℓ = 2 Time per input bit is 3.9 × 10−5 secs. Hashing bandwidth: 25.6 Kbps. p 256-bit prime Time per input bit is 7.6 × 10−5 secs or Hashing bandwidth: 13.1 Kbps. 64-bit AMD Opteron Ghz machine.

Other graphs Vary the isogeny degree Lubotzky-Phillips-Sarnak Cayley graph – random walk is efficient to implement – Ramanujan graph – Different problem for finding collisions