Cryptography Lecture 14.

Slides:



Advertisements
Similar presentations
Ari Juels RSA Laboratories Marty Wattenberg 328 W. 19th Street, NYC A Fuzzy Commitment Scheme.
Advertisements

Cryptanalysis of a Communication-Efficient Three-Party Password Authenticated Key Exchange Protocol Source: Information Sciences in review Presenter: Tsuei-Hung.
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”
CS555Topic 191 Cryptography CS 555 Topic 19: Formalization of Public Key Encrpytion.
Intro To Secure Comm. Exercise 2. Problem  You wish for your users to access a remote server via user and password.  All of the users have modems and.
Lecturer: Moni Naor Foundations of Cryptography Lecture 4: One-time Signatures, UOWHFs.
CMSC 414 Computer and Network Security Lecture 21 Jonathan Katz.
CMSC 414 Computer and Network Security Lecture 16 Jonathan Katz.
CMSC 414 Computer and Network Security Lecture 22 Jonathan Katz.
CMSC 414 Computer and Network Security Lecture 6 Jonathan Katz.
CMSC 414 Computer and Network Security Lecture 13 Jonathan Katz.
Cryptography and Network Security Chapter 11 Fifth Edition by William Stallings Lecture slides by Lawrie Brown.
David Evans CS150: Computer Science University of Virginia Computer Science Class 31: Cookie Monsters and Semi-Secure.
Slide 1 EJ Jung Hash Functions. Integrity checks.
1 Message authentication codes, modes of operation, and indifferentiability Kan Yasuda (NTT, Japan) ASK 2011 Aug. 31, Singapore.
Week 4 - Friday.  What did we talk about last time?  Snow day  But you should have read about  Key management.
Cryptography 1 Crypto Cryptography 2 Crypto  Cryptology  The art and science of making and breaking “secret codes”  Cryptography  making “secret.
Hash Functions Ramki Thurimella. 2 What is a hash function? Also known as message digest or fingerprint Compression: A function that maps arbitrarily.
CS426Fall 2010/Lecture 51 Computer Security CS 426 Lecture 5 Cryptography: Cryptographic Hash Function.
CS555Spring 2012/Topic 151 Cryptography CS 555 Topic 15: HMAC, Combining Encryption & Authentication.
 Encryption provides confidentiality  Information is unreadable to anyone without knowledge of the key  Hashing provides integrity  Verify the integrity.
Cryptography Hyunsung Kim, PhD University of Malawi, Chancellor College Kyungil University February, 2016.
CMSC 414 Computer and Network Security Lecture 2 Jonathan Katz.
CS555Spring 2012/Topic 141 Cryptography CS 555 Topic 14: CBC-MAC & Hash Functions.
Intrusion Resilience via the Bounded-Storage Model Stefan Dziembowski Warsaw University and CNR Pisa.
Outline The basic authentication problem
CSE 486/586 Distributed Systems Security --- 1
Cryptographic hash functions
Cryptographic Hash Functions
Cryptographic Hash Function
CMSC 414 Computer and Network Security Lecture 15
Cryptographic Hash Functions
Course summary COS 433: Crptography -Spring 2010 Boaz Barak.
Topic 14: Random Oracle Model, Hashing Applications
NET 311 Information Security
Cryptography Lecture 3.
Cryptographic Hash Functions Part I
Cryptography Lecture 13.
B504/I538: Introduction to Cryptography
Cryptography Lecture 12.
Cryptography Lecture 4.
Cryptography Lecture 19.
CS/ECE 478 Introduction to Network Security
Cryptography Lecture 7.
Cryptography Lecture 24.
Cryptography Lecture 14.
Data Integrity: Applications of Cryptographic Hash Functions
CSE 486/586 Distributed Systems Security --- 1
Cryptography Lecture 12 Arpita Patra © Arpita Patra.
Lecture 4.1: Hash Functions: Introduction
CS 394B Introduction Marco Canini.
Cryptographic Hash Functions Part I
Hash-based Primitives Credits: Dr. Peng Ning and Dr. Adrian Perrig
Cryptography Lecture 4.
Cryptography Lecture 8.
Cryptography Lecture 7.
Cryptography Lecture 14.
Cryptography Lecture 13.
Cryptography Lecture 3.
The power of Pairings towards standard model security
Cryptography Lecture 11.
Cryptography Lecture 13.
Cryptography Lecture 15.
Cryptography Lecture 18.
Lecture 4: Hash Functions
Cryptography Lecture 25.
Cryptography Lecture 23.
Cryptography Lecture 26.
Blockchains Lecture 4.
Presentation transcript:

Cryptography Lecture 14

Other applications of hash functions

Hash functions are ubiquitous Collision-resistance  “fingerprinting” Outsourced storage Used as a “random oracle” Used as a one-way function Password hashing Key derivation

Fingerprinting E.g., hash-and-MAC E.g., virus scanning E.g., deduplication E.g., file integrity Assuming it is possible to get a reliable copy of H(x) for file x Note: different from integrity in the context of message-authentication codes

Outsourced storage How to outsource files to an untrusted server? x x h=H(x) x H(x)=?h

Outsourced storage x1, …, xn x1, …, xn hi =H(xi) i xi H(xi)=?hi O(n) client storage!

Outsourced storage x1, …, xn x1, …, xn h =H(x1, …, xn) i x1, …, xn H(x1, …, xn)=?h O(n|x|) communication!

Outsourced storage x1, …, xn x1, …, xn h =H(H(x1), …, H(xn)) i xi, h1, …, hn H(h1, …, H(xi), …, hn)=?h |xi| + O(n) communication!

Merkle tree Only store the root! Verify… x1 x2 x2 x3 x4 Only store the root! Verify… O(log n) communication/computation!

Outsourced storage Using a Merkle tree, we can solve the outsourcing problem with O(1) client storage and |x| + O(log n) communication

The random-oracle (RO) model Treat H as a public, random function Then H(x) is uniform for any x… …unless the attacker computes H(x) explicitly This implies collision resistance (if output is large enough) Much stronger than collision resistance

The RO model Intuitively Assume the hash function “is random” Models attacks that are agnostic to the specific hash function being used Security in the real world as long as “no weaknesses found” in the hash function

The RO model Formally Different from a PRF Choose a uniform hash function as part of the security experiment Attacker can only evaluate H via explicit queries to an oracle Simulate H as part of the security proof Different from a PRF There is no key here

The RO model In practice Prove security in the RO model Instantiate the RO with a “good” hash function Hope for the best…

Pros and cons of the RO model There is no such thing as a public hash function that “is random” Not even clear what this would mean, formally Known counterexamples There are (contrived) schemes secure in the RO model, but insecure when using any real-world hash function

Pros and cons of the RO model No known example of “natural” scheme secure in the RO model being attacked in the real world If an attack is found, just replace the hash Proof in the RO model better than no proof at all Evidence that the basic design principles are sound

Many applications of random oracles Password hashing Key derivation Will see many more in the context of public-key cryptography

Password hashing Server stores H(pw) instead of pw (Ignore “salting” here) Recovering pw from H(pw) in q tries should be as hard as guessing pw in q tries Even if the distribution of pw is nonuniform

Key derivation Consider deriving a (shared) key k from (shared) high-entropy information x E.g., biometric data Cryptographic keys must be uniform, but shared data is only high-entropy

Min-entropy Let X be a distribution The min-entropy of X (measured in bits) is H(X) = - log maxx { Pr[X=x] } I.e., if H(X) = n, then the probability of guessing x sampled from X is (at most) 2-n Min-entropy is more suitable for crypto than standard (Shannon) entropy

Key derivation Given shared information x (sampled from distribution X), derive shared key k=H(x) In what sense can we claim that k is a good (i.e., uniform) cryptographic key? If H is a random oracle, then H(x) is uniform as long as the attacker does not query x to H …but the attacker cannot do that (with high probability) if X has high min-entropy!