Hash Functions: From Merkle-Damgård to Shoup Ilya Mironov, Stanford University.

Slides:



Advertisements
Similar presentations
Higher Order Universal One-Way Hash Functions Deukjo Hong Graduate School of Information Security, Center for Information Security Technologies, Korea.
Advertisements

ONE WAY FUNCTIONS SECURITY PROTOCOLS CLASS PRESENTATION.
1 Reducing Complexity Assumptions for Statistically-Hiding Commitment Iftach Haitner Omer Horviz Jonathan Katz Chiu-Yuen Koo Ruggero Morselli Ronen Shaltiel.
Foundations of Cryptography Lecture 10 Lecturer: Moni Naor.
Hash Function. What are hash functions? Just a method of compressing strings – E.g., H : {0,1}*  {0,1} 160 – Input is called “message”, output is “digest”
Digital Signatures Good properties of hand-written signatures: 1. Signature is authentic. 2. Signature is unforgeable. 3. Signature is not reusable (it.
Cryptography and Network Security
Digital Signatures and Hash Functions. Digital Signatures.
Foundations of Cryptography Lecture 5 Lecturer: Moni Naor.
Session 5 Hash functions and digital signatures. Contents Hash functions – Definition – Requirements – Construction – Security – Applications 2/44.
HSC: Building Stream Cipher from Secure Hash Functions Juncao Li Nov. 29 th 2007 Department of Computer Science Portland State University.
Announcements: 1. HW7 due next Tuesday. 2. Inauguration today! Questions? This week: Discrete Logs, Diffie-Hellman, ElGamal Discrete Logs, Diffie-Hellman,
Lattice-Based Cryptography
Chapter 5 Cryptography Protecting principals communication in systems.
Announcements:Questions? This week: Discrete Logs, Diffie-Hellman, ElGamal Discrete Logs, Diffie-Hellman, ElGamal Hash Functions and SHA-1 Hash Functions.
Lecturer: Moni Naor Foundations of Cryptography Lecture 4: One-time Signatures, UOWHFs.
CMSC 414 Computer and Network Security Lecture 9 Jonathan Katz.
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.
Authenticating streamed data in the presence of random packet loss March 17th, Philippe Golle, Stanford University.
Lattice-Based Cryptography
1 CS 255 Lecture 6 Hash Functions Brent Waters. 2 Recap-Notions of Security What attacker can do Random plaintext attack Chosen plaintext attack Chosen.
Hash Functions Nathanael Paul Oct. 9, Hash Functions: Introduction Cryptographic hash functions –Input – any length –Output – fixed length –H(x)
Security Arguments for Digital Signatures and Blind Signatures Journal of Cryptology, (2000) 13: Authors: D. Pointcheval and J. Stern Presented.
CS526Topic 5: Hash Functions and Message Authentication 1 Computer Security CS 526 Topic 5 Cryptography: Cryptographic Hash Functions And Message Authentication.
On Everlasting Security in the Hybrid Bounded Storage Model Danny Harnik Moni Naor.
Cryptographic Hashing: Blockcipher-Based Constructions, Revisited Tom Shrimpton Portland State University.
Cramer-Shoup is Plaintext Aware in the Standard Model Alexander W. Dent Information Security Group Royal Holloway, University of London.
Foundations of Cryptography Lecture 8 Lecturer: Moni Naor.
Foundations of Cryptography Rahul Jain CS6209, Jan – April 2011
Digital Signatures (DSs) The digital signatures cannot be separated from the message and attached to another The signature is not only tied to signer but.
XMSS - A Practical Forward Secure Signature Scheme based on Minimal Security Assumptions J. Buchmann, E. Dahmen, A. Hülsing | TU Darmstadt |
Bob can sign a message using a digital signature generation algorithm
The RSA Algorithm Rocky K. C. Chang, March
Lecture 15 Lecture’s outline Public algorithms (usually) that are each other’s inverse.
Lecture slides prepared for “Computer Security: Principles and Practice”, 2/e, by William Stallings and Lawrie Brown, Chapter 21 “Public-Key Cryptography.
CS555Topic 211 Cryptography CS 555 Topic 21: Digital Schemes (1)
Digital Signatures Good properties of hand-written signatures: 1. Signature is authentic. 2. Signature is unforgeable. 3. Signature is not reusable (it.
Hardness Assumptions Related to Ad-Hoc Constructions Shai Halevi February 22, 2007.
Domain Extension for Random Oracles: Beyond the Birthday Paradox Bound Arvind Narayanan (UT Austin) Ilya Mironov (Microsoft Research)
Topic 22: Digital Schemes (2)
Cryptography Lecture 9 Stefan Dziembowski
Hashing Algorithms: Basic Concepts and SHA-2 CSCI 5857: Encoding and Encryption.
Chapter 21 Public-Key Cryptography and Message Authentication.
Foundations of Cryptography Lecture 6 Lecturer: Moni Naor.
Optimal Asymmetric Encryption based on a paper by Mihir Bellare and Phillip Rogaway Team Members  Chris Kellogg  Doug Wagers  Angela Johnston  Kris.
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
1 Number Theory and Advanced Cryptography 6. Digital Signature Chih-Hung Wang Sept Part I: Introduction to Number Theory Part II: Advanced Cryptography.
CPS 290 Computer Security Network Tools Cryptography Basics CPS 290Page 1.
CIT 380: Securing Computer SystemsSlide #1 CIT 380: Securing Computer Systems Modern Cryptography.
Understanding Cryptography – A Textbook for Students and Practitioners by Christof Paar and Jan Pelzl Chapter 11 – Hash Functions.
Cryptography 1 Crypto Cryptography 2 Crypto  Cryptology  The art and science of making and breaking “secret codes”  Cryptography  making “secret.
15-499Page :Algorithms and Applications Cryptography I – Introduction – Terminology – Some primitives – Some protocols.
Giuseppe Bianchi Message Authentication: hash functions and hash-based constructions.
Hash Functions Ramki Thurimella. 2 What is a hash function? Also known as message digest or fingerprint Compression: A function that maps arbitrarily.
Computer Science CSC 474Dr. Peng Ning1 CSC 474 Information Systems Security Topic 2.3 Hash Functions.
Computer Science and Engineering Computer System Security CSE 5339/7339 Lecture 11 September 23, 2004.
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.
1 4.1 Hash Functions and Data Integrity A cryptographic hash function can provide assurance of data integrity. ex: Bob can verify if y = h K (x) h is a.
Impossibility proofs for RSA signatures in the standard model Pascal Paillier Topics in Cryptology – CT-RSA 2007.
Data Integrity / Data Authentication. Definition Authentication (Signature) algorithm - A Verification algorithm - V Authentication key – k Verification.
Cryptographic Hash Functions Part I
Cryptography Lecture 19.
CS/ECE 478 Introduction to Network Security Dr. Attila Altay Yavuz
On the Efficiency of 2 Generic Cryptographic Constructions
CS 394B Introduction Marco Canini.
Cryptography Lecture 18.
Presentation transcript:

Hash Functions: From Merkle-Damgård to Shoup Ilya Mironov, Stanford University

Collision-resistant functions Family of functions f K :D  R Hard to win this game: AttackerChallenger k  K - random (x,y)(x,y) f k (x)=f k (y)

Collision-resistant functions can be used for: Signature schemes Commitment schemes AliceBob x f k (x)—commitment to x Given a signature algorithm σ(S), where |S| is fixed, we can sign any message σ(f k (M)).

Good news: CRF can be built Based on number-theoretic assumptions: Factoring: f(x)=( 3F 16 ||x) 2 mod N. Discrete log: f(x||y)=g x h y. Claw-free permutations Hard to find f(x)=g(y)

Bad news: practical CRF hard to construct MD4—broken MD5—a serious weakness found Flaw in the original SHA

Useful alternative: UOWHFs AttackerChallenger k  K- random y f k (x)=f k (y) Family of functions f K :D  R Hard to win this game: x

WUFs good for Signature schemes Given an existentially secure signature algorithm σ(S), where |S| is fixed, we can sign any message with k,σ(k,f k (M)), where k is chosen at random. Reason: It is hard to find f k (M 1 )=f k (M) for a random k.

WUFs can be built from One-way functions One-way permutation Collision-resistant functions

Oracle separation Simon’98: There is an oracle relative to which one-way permutations exist but not CRFs. Interpretation: No “black box” construction of a CRF based on a WUF. Conclusion: A CRF is a strictly stronger primitive than a WUF.

A family of CRFs (WUFs) We want to make one, concrete assumption, for instance: It is infeasible to find a collision (second preimage) in SHA-1. Then derive a family of functions that take inputs of different lengths and hash it to a fixed length output.

Good news: CRFs families are easy to construct Merkle-Damgård construction: M0M0 IV HkHk HkHk M1M1 HkHk M2M2 HkHk M3M3 output

Bad news: Not so easy for WUF families Merkle-Damgård construction fails on WUFs. (we cannot plug in a weaker primitive in the construction) due to M. Bellare and P. Rogaway’97.

Shoup construction M 0,M 1,…,M L —masks (tags). x0x0 IV HkHk HkHk x1x1 HkHk x2x2 HkHk x3x3 HkHk x4x4 HkHk x5x5   M0M0 M1M1  M0M0  M2M2  M0M0  M1M1

Example RSA signature (H is a CRF): S=H(M) e mod N. If we use a WUF (SHA-1, Shoup scheme): S=K || (h K´ (K)||h K (M)) e mod N. CRFWUF |M|=1Kb|S|=1Kb|S|=1.81Kb 1Mb 1Kb 3.22Kb 1Gb 1Kb 4.87Kb

Difficult choice: CRFs Theoretically and practically harder to construct Have efficient composition scheme WUFs Easier to construct Don’t have efficient composition scheme

Continuum of functions Commit to some bits of x: AttackerChallenger k  K- random x0x0 x0x0 x1,yx1,y x1x1 y1y1 f k (x 1,x 0 )=f k (y)

Class H(n  m;l) |y|=|x 0 |+|x 1 |=n |x 1 |=l — flexibility Output of f has length m. AttackerChallenger k  K- random x1,yx1,y f k (x 1,x 0 )=f k (y) x0x0 x0x0 x1x1 y1y1

H(n  m;0) and H(n  m;n) have names H(n  m;0) is a WUF AttackerChallenger k  K- random y,x 1 =λ f k (x)=f k (y) x 0 =x

H(n  m;0) and H(n  m;n) have names H(n  m;n) is a CRF AttackerChallenger k  K- random y,x 1 =x f k (x)=f k (y) x0=λx0=λ

Merkle-Damgård construction Works (with a minor modification) for H(n  m;m) M1M1 M0M0 HkHk HkHk M2M2 HkHk M3M3 HkHk M4M4 output

Jump somewhere? CRFs and WUFs can be separated. Where? H(n  m;0)  H(n  m;1)…  H(n  m;n)

Separation H(n  m;0)…H(n  m;m+O(log m)) — one class of theoretic-complexity equivalence H(n  m;m+m c )…H(n  m;n) — another class The gap does not exist if there are “ideally secure” WUFs.

Another approach Can the Shoup construction be improved? x0x0 IV HkHk HkHk x1x1 HkHk x2x2 HkHk x3x3 HkHk x4x4 HkHk x5x5   M ν(0) M ν(1)  M ν(2)  M ν(3)  M ν(4)  M ν(5)

Function is optimal The function ν(k)=highest power of 2 dividing k is optimal. Constructive proof + counting argument

Open question How short can a key of a family of WUFs be? Conjecture: key length must be Ω(log m) Reason: It can’t be a coincidence!