Foundations of Network and Computer Security J J ohn Black Lecture #8 Sep 15 th 2005 CSCI 6268/TLEN 5831, Fall 2005.

Slides:



Advertisements
Similar presentations
David Evans CS588: Security and Privacy University of Virginia Computer Science Lecture 8: Hashing Note: only 3 people.
Advertisements

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”
ECE454/CS594 Computer and Network Security Dr. Jinyuan (Stella) Sun Dept. of Electrical Engineering and Computer Science University of Tennessee Fall 2011.
Session 5 Hash functions and digital signatures. Contents Hash functions – Definition – Requirements – Construction – Security – Applications 2/44.
Foundations of Network and Computer Security J J ohn Black Lecture #9 Sep 22 nd 2005 CSCI 6268/TLEN 5831, Fall 2005.
Foundations of Network and Computer Security J J ohn Black Lecture #7 Sep 14 th 2004 CSCI 6268/TLEN 5831, Fall 2004.
1 Chapter 5 Hashes and Message Digests Instructor: 孫宏民 Room: EECS 6402, Tel: , Fax :
Hash functions a hash function produces a fingerprint of some file/message/data h = H(M)  condenses a variable-length message M  to a fixed-sized fingerprint.
Foundations of Network and Computer Security J J ohn Black Lecture #10 Sep 19 th 2007 CSCI 6268/TLEN 5831, Fall 2007.
CMSC 414 Computer and Network Security Lecture 5 Jonathan Katz.
Foundations of Network and Computer Security J J ohn Black Lecture #4 Sep 1 st 2005 CSCI 6268/TLEN 5831, Fall 2005.
Foundations of Network and Computer Security J J ohn Black Lecture #9 Sep 16 th 2009 CSCI 6268/TLEN 5550, Fall 2009.
Foundations of Network and Computer Security J J ohn Black Lecture #5 Sep 7 th 2004 CSCI 6268/TLEN 5831, Fall 2004.
Foundations of Network and Computer Security J J ohn Black Lecture #7 Sep 11 th 2009 CSCI 6268/TLEN 5550, Fall 2009.
Foundations of Network and Computer Security J J ohn Black Lecture #12 Sep 23 rd 2009 CSCI 6268/TLEN 5550, Fall 2009.
Foundations of Network and Computer Security J J ohn Black Lecture #4 Sep 2 nd 2004 CSCI 6268/TLEN 5831, Fall 2004.
Foundations of Network and Computer Security J J ohn Black Lecture #3 Aug 28 th 2009 CSCI 6268/TLEN 5550, Fall 2009.
Foundations of Network and Computer Security J J ohn Black Lecture #5 Sep 6 th 2005 CSCI 6268/TLEN 5831, Fall 2005.
Foundations of Network and Computer Security J J ohn Black Lecture #8 Sep 14 th 2007 CSCI 6268/TLEN 5831, Fall 2007.
Foundations of Network and Computer Security J J ohn Black Lecture #11 Sep 21 st 2007 CSCI 6268/TLEN 5831, Fall 2007.
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)
CS526Topic 5: Hash Functions and Message Authentication 1 Computer Security CS 526 Topic 5 Cryptography: Cryptographic Hash Functions And Message Authentication.
Foundations of Network and Computer Security J J ohn Black Lecture #7 Sep 13 th 2005 CSCI 6268/TLEN 5831, Fall 2005.
Hash Functions 1 Hash Functions Hash Functions 2 Cryptographic Hash Function  Crypto hash function h(x) must provide o Compression  output length is.
Cryptographic Hashing: Blockcipher-Based Constructions, Revisited Tom Shrimpton Portland State University.
Foundations of Network and Computer Security J J ohn Black Lecture #9 Sep 17 th 2007 CSCI 6268/TLEN 5831, Fall 2007.
Foundations of Network and Computer Security J J ohn Black Lecture #14 Oct 1 st 2007 CSCI 6268/TLEN 5831, Fall 2007.
Lecture 15 Lecture’s outline Public algorithms (usually) that are each other’s inverse.
Message Authentication  message authentication is concerned with: protecting the integrity of a message protecting the integrity of a message validating.
CS 4/585: Cryptography Tom Shrimpton FAB
Lecture 4.1: Hash Functions, and Message Authentication Codes CS 436/636/736 Spring 2015 Nitesh Saxena.
Lect : Hash Functions and MAC. 2 1.Introduction - Hash Function vs. MAC 2.Hash Functions  Security Requirements  Finding collisions – birthday.
Basic Cryptography 1. What is cryptography? Cryptography is a mathematical method of protecting information –Cryptography is part of, but not equal to,
Hashing Algorithms: Basic Concepts and SHA-2 CSCI 5857: Encoding and Encryption.
Theory of Computation II Topic presented by: Alberto Aguilar Gonzalez.
CSCI 172/283 Fall 2010 Hash Functions, HMACs, and Digital Signatures.
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 Message authentication codes, modes of operation, and indifferentiability Kan Yasuda (NTT, Japan) ASK 2011 Aug. 31, Singapore.
14-1 Last time Internet Application Security and Privacy Basics of cryptography Symmetric-key encryption.
Cryptographic Hash Functions Prepared by Dr. Lamiaa Elshenawy
Lecture 4.1: Hash Functions, and Message Authentication Codes CS 436/636/736 Spring 2014 Nitesh Saxena.
Computer Science CSC 474Dr. Peng Ning1 CSC 474 Information Systems Security Topic 2.3 Hash Functions.
CS426Fall 2010/Lecture 51 Computer Security CS 426 Lecture 5 Cryptography: Cryptographic Hash Function.
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
Network Security. Three tools Hash Function Block Cipher Public Key / Private Key.
Dan Boneh Collision resistance The Merkle-Damgard Paradigm Online Cryptography Course Dan Boneh.
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.
Data Integrity / Data Authentication. Definition Authentication (Signature) algorithm - A Verification algorithm - V Authentication key – k Verification.
Cryptographic Hash Functions
Cryptographic Hash Functions
Presented by: Dr. Munam Ali Shah
Foundations of Network and Computer Security
Cryptographic Hash Functions Part I
Cryptography Lecture 13.
Cryptographic Hash Functions
Cryptography Lecture 19.
Foundations of Network and Computer Security
Foundations of Network and Computer Security
Lecture 4.1: Hash Functions: Introduction
Cryptographic Hash Functions Part I
Lecture 4.1: Hash Functions, and Message Authentication Codes
Cryptography Lecture 14.
Cryptography Lecture 13.
Cryptography Lecture 13.
Lecture 4: Hash Functions
Presentation transcript:

Foundations of Network and Computer Security J J ohn Black Lecture #8 Sep 15 th 2005 CSCI 6268/TLEN 5831, Fall 2005

Announcements No class next time (Tuesday) No OH on Weds, but I’m back on Thurs Short lecture today

More cryptographic properties 1. Collision resistance given a hash function it is hard to find two colliding inputs 3. Preimage resistance given a hash function and given an hash output it is hard to invert that output 2. Second-preimage given a hash function and resistance given a first input, it is hard to find a second input that collides with the first 

Merkle-Damgard construction IV M1M1 M2M2 M3M3 h1h1 h2h2 h 3 = H (M) n k Fixed initial value Chaining value Compression function fff k MD Theorem: if f is CR, then so is H

MiMi T  A << 5 + g t (B, C, D) + E + K t + W t... M1M1 M2M2 MmMm for i = 1 to m do Wt ={Wt ={ t-th word of M i 0  t  15 ( W t-3  W t-8  W t-14  W t-16 ) << 1 16  t  79 A  H 0 i-1 ; B  H 1 i-1 ; C  H 2 i-1 ; D  H 3 i-1 ; E  H 4 i-1 for t = 1 to 80 do E  D; D  C; C  B >> 2; B  A; A  T H 0 i  A  H 0 i-1 ; H 1 i  B + H 1 i-1 ; H 2 i  C+ H 2 i-1 ; H 3 i  D + H 3 i-1 ; H 4 i  E + H 4 i-1 end return H 0 m H 1 m H 2 m H 3 m H 4 m 512 bits 160 bits H 0..4 i bits

Hash Function Security Consider best-case scenario (random outputs) If a hash function output only 1 bit, how long would we expect to avoid collisions? –Expectation: 1 £ £ ½ + 3 £ ½ = 2.5 What about 2 bits? –Expectation: 1 £ £ ¼ + 3 £ ¾ ½ + 4 £ ¾ ½ ¾ + 5 £ ¾ ½ ¼ ¼ 3.22 This is too hard…

Birthday Paradox Need another method –Birthday paradox: if we have 23 people in a room, the probability is > 50% that two will share the same birthday Assumes uniformity of birthdays –Untrue, but this only increases chance of birthday match Ignores leap years (probably doesn’t matter much) –Try an experiment with the class…

Birthday Paradox (cont) Let’s do the math –Let n equal number of people in the class –Start with n = 1 and count upward Let NBM be the event that there are No-Birthday-Matches For n=1, Pr[NBM] = 1 For n=2, Pr[NBM] = 1 £ 364/365 ¼.997 For n=3, Pr[NBM] = 1 £ 364/365 £ 363/365 ¼.991 … For n=22, Pr[NBM] = 1 £ … £ 344/365 ¼.524 For n=23, Pr[NBM] = 1 £ … £ 343/365 ¼.493 –Since the probability of a match is 1 – Pr[NBM] we see that n=23 is the smallest number where the probability exceeds 50%

Occupancy Problems What does this have to do with hashing? –Suppose each hash output is uniform and random on {0,1} n –Then it’s as if we’re throwing a ball into one of 2 n bins at random and asking when a bin contains at least 2 balls This is a well-studied area in probability theory called “occupancy problems” –It’s well-known that the probability of a collision occurs around the square-root of the number of bins If we have 2 n bins, the square-root is 2 n/2

Birthday Bounds This means that even a perfect n-bit hash function will start to exhibit collisions when the number of inputs nears 2 n/2 –This is known as the “birthday bound” –It’s impossible to do better, but quite easy to do worse It is therefore hoped that it takes  (2 64 ) work to find collisions in MD5 and  (2 80 ) work to find collisions in SHA-1

The Birthday Bound 1.0 Probability n2n Number of Hash Inputs 2 n/2

Latest News At CRYPTO 2004 (August) –Collisions found in HAVAL, RIPEMD, MD4, MD5, and SHA-0 (2 40 operations) Wang, Feng, Lai, Yu Only Lai is well-known –HAVAL was known to be bad –Dobbertin found collisions in MD4 years ago –MD5 news is big! CU team has lowered time-to-collision to 3 mins (July 2005) –SHA-0 isn’t used anymore (but see next slide)

Collisions in SHA-0 T  A << 5 + g t (B, C, D) + E + K t + W t Wt ={Wt ={ t-th word of M i 0  t  15 ( W t-3  W t-8  W t-14  W t-16 ) << 1 16  t  79 A  H 0 i-1 ; B  H 1 i-1 ; C  H 2 i-1 ; D  H 3 i-1 ; E  H 4 i-1 for t = 1 to 80 do E  D; D  C; C  B >> 2; B  A; A  T H 0 i  H 0 i-1 ; H 1 i  A + H 1 i-1 ; H 2 i  C+ H 2 i-1 ; H 3 i  D + H 3 i-1 ; H 4 i  E + H 4 i-1 end H 0..4 i not in SHA-0 M1,M1, M1’M1’ Collision!

What Does this Mean? Who knows –Methods are not yet understood –Will undoubtedly be extended to more attacks –Maybe nothing much more will happen –But maybe everything will come tumbling down?! But we have OTHER ways to build hash functions

A Provably-Secure Blockcipher-Based Compression Function E MiMi h i-1 hihi n bits

The Big (Partial) Picture Primitives Block Ciphers Hash Functions Hard Problems Stream Ciphers First-Level Protocols Symmetric Encryption Digital Signatures MAC Schemes Asymmetric Encryption Second-Level Protocols SSH, SSL/TLS, IPSec Electronic Cash, Electronic Voting (Can do proofs) (No one knows how to prove security; make assumptions)