B504/I538: Introduction to Cryptography

Slides:



Advertisements
Similar presentations
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”
Advertisements

Hash Functions Nathanael Paul Oct. 9, Hash Functions: Introduction Cryptographic hash functions –Input – any length –Output – fixed length –H(x)
(Multimedia University) Ji-Jian Chin Swee-Huay Heng Bok-Min Goi
Ryan Henry I 538 /B 609 : Introduction to Cryptography.
Hash Functions Ramki Thurimella. 2 What is a hash function? Also known as message digest or fingerprint Compression: A function that maps arbitrarily.
Ryan Henry I 538 /B 609 : Introduction to Cryptography.
CS426Fall 2010/Lecture 51 Computer Security CS 426 Lecture 5 Cryptography: Cryptographic Hash Function.
Ryan Henry I 538 /B 609 : Introduction to Cryptography.
Hashes Lesson Introduction ●The birthday paradox and length of hash ●Secure hash function ●HMAC.
Ryan Henry I 538 /B 609 : Introduction to Cryptography.
CS555Spring 2012/Topic 81 Cryptography CS 555 Topic 8: Pseudorandom Functions and CPA Security.
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.
Ryan Henry I 538 /B 609 : Introduction to Cryptography.
B504/I538: Introduction to Cryptography
Topic 26: Discrete LOG Applications
Cryptography Lecture 5 Arpita Patra © Arpita Patra.
Cryptographic hash functions
B504/I538: Introduction to Cryptography
B504/I538: Introduction to Cryptography
B504/I538: Introduction to Cryptography
Secrecy of (fixed-length) stream ciphers
Topic 14: Random Oracle Model, Hashing Applications
B504/I538: Introduction to Cryptography
Cryptography Lecture 9.
Digital Signature Schemes and the Random Oracle Model
Topic 11: Authenticated Encryption + CCA-Security
Cryptographic Hash Functions Part I
Cryptography Lecture 13.
B504/I538: Introduction to Cryptography
Cryptography Lecture 4.
B504/I538: Introduction to Cryptography
ICS 454 Principles of Cryptography
Cryptography Lecture 27.
B504/I538: Introduction to Cryptography
B504/I538: Introduction to Cryptography
Cryptography Lecture 19.
Digital Signature Schemes and the Random Oracle Model
Cryptography Lecture 10.
Topic 7: Pseudorandom Functions and CPA-Security
B504/I538: Introduction to Cryptography
Cryptography Lecture 7.
B504/I538: Introduction to Cryptography
Introduction to Provable Security
Cryptography Lecture 12 Arpita Patra © Arpita Patra.
B504/I538: Introduction to Cryptography
ICS 454 Principles of Cryptography
Cryptography Lecture 5 Arpita Patra © Arpita Patra.
Cryptography Lecture 12 Arpita Patra © Arpita Patra.
Lecture 4.1: Hash Functions: Introduction
Cryptographic Hash Functions Part I
Cryptography Lecture 8.
Cryptography Lecture 14.
Cryptography Lecture 5 Arpita Patra © Arpita Patra.
Topic 13: Message Authentication Code
Cryptography Lecture 7.
Cryptography Lecture 14.
Cryptography Lecture 13.
Cryptography Lecture 3.
Cryptography Lecture 9.
The power of Pairings towards standard model security
Cryptography Lecture 6.
Cryptography Lecture 13.
Cryptography Lecture 15.
Cryptography Lecture 18.
Security: Integrity, Authentication, Non-repudiation
Lecture 4: Hash Functions
Hash Function Requirements
Cryptography Lecture 26.
Blockchains Lecture 4.
Presentation transcript:

B504/I538: Introduction to Cryptography Spring 2017 • Lecture 25 (2017—04—11)

Recall: Hash functions (Non-cryptographic) Recall: Hash functions Defn: A hash function is a PPT function H:{0,1}*→{0,1}s that maps arbitrary-length bit strings into fixed-length bit strings. The output of a hash function is called a ”hash”, ”digest” , or ”fingerprint” of the input Fingerprints Hash function 00 Alice 01 02 Bob 03 04 05 Charlie … 13 Eve 14 15

Recall: Collision-finding game Challenger (C) Attacker (A) 1s 1s k←Gen(1s) k (m0,m1) Let E be the event that m0≠m1 yet H(k,m0)≟H(k,m1) Advcollision(A)≔Pr[E]

Recall: Second-preimage resistance (Target pre-image resistance) Challenger (C) Attacker (A) 1s 1s m0∈{0,1}* m0 k k←Gen(1s) m1 Let E be the event that m0≠m1 yet H(k,m0)≟H(k,m1) Adv2-preimage(A)≔Pr[E]

Recall: Preimage resistance (One-wayness) Challenger (C) Attacker (A) 1s 1s y∈{0,1}ℓ(s) y k k←Gen(1s) m Let E be the event that H(k,m)≟y Advpreimage(A)≔Pr[E]

Recall: Hash functions (Cryptographic) Recall: Hash functions Defn: A (keyed) hash function with output length ℓ(s) is a pair of PPT algorithms (Gen,H) such that Gen(1s) outputs a random s-bit key k∊{0,1}s H(k,x) outputs a fingerprint (or digest) y∈{0,1}ℓ(|k|) A cryptographic hash function is a (keyed) hash function that is (ⅰ) collision-resistant, (ⅱ) preimage resistant, and (ⅲ) second-preimage resistant.

The Random Oracle Model Many protocol use hash functions as a publicly accessible oracle that produces “random-looking” outputs PRFs, PRGs, and PRPs also produce “random-looking” outputs, but they all assume the attacker doesn’t know the seed/key Intuitively, the random oracle model is what you get when you assume (in a security proof) that the hash function produces truly random outputs No function can do this, so we model it by providing the challenger and attacker with access to a random oracle

The Random Oracle Model Challenger (C) Attacker (A) 1s 1s Random Oracle (RO)

Random oracles Q: Why might random oracles be useful? A: They allow us to use outputs of a hash function in places where a security definition requires uniform random values If x has not been queried to H, then H(x) is uniform; thus, there is no strategy for adaptively choosing inputs to yield outputs with a desired relationship

Extractability and programmability In a reduction proof, the reduction algorithm answers any random oracle queries Extractability: The reduction can behave like a man-in-the-middle between the attacker and the RO The reduction algorithm gets to see all queries and responses Programmability: The reduction algorithm can change responses from the RO If relationships between outputs make the reduction more powerful, the reduction algorithm can induce them H a hash function ⇒ no extractability or programmability

Is the Random Oracle Model sound? Q: What do security proofs in the random oracle model guarantee about security the real world? A: The answer is unclear… On the one hand, no hash function can implement an RO so such proofs say “nothing” about the real world On the other hand, a proof of security in ROM implies (roughly) that any attack on system must exploit a weakness in the hash function To date, no “real” system proven secure in the ROM has ever succumbed to attacks due to the non-randomness of the hash function

That’s all for today, folks!