CS555Spring 2012/Topic 81 Cryptography CS 555 Topic 8: Pseudorandom Functions and CPA Security.

Slides:



Advertisements
Similar presentations
CS555Spring 2012/Topic 171 Cryptography CS 555 Topic 17: Textbook RSA encryption.
Advertisements

Foundations of Cryptography Lecture 10 Lecturer: Moni Naor.
CS555Topic 191 Cryptography CS 555 Topic 19: Formalization of Public Key Encrpytion.
1 PRPs and PRFs CS255: Winter Abstract ciphers: PRPs and PRFs, 2.Security models for encryption, 3.Analysis of CBC and counter mode Dan Boneh, Stanford.
CIS 5371 Cryptography 3b. Pseudorandomness.
Princeton University COS 433 Cryptography Fall 2007 Boaz Barak COS 433: Cryptography Princeton University Fall 2007 Boaz Barak Lectures 1-6: Short Recap.
Foundations of Cryptography Lecture 12 Lecturer: Moni Naor.
Asymmetric Cryptography part 1 & 2 Haya Shulman Many thanks to Amir Herzberg who donated some of the slides from
1 Intro To Encryption Exercise 4. 2 Defining Pseudo-Random Permutation Let A be alg. with oracle to a function from {0,1} k to {0,1} k Notation: let A.
1 Constructing Pseudo-Random Permutations with a Prescribed Structure Moni Naor Weizmann Institute Omer Reingold AT&T Research.
CS555Spring 2012/Topic 41 Cryptography CS 555 Topic 4: Computational Approach to Cryptography.
Foundations of Cryptography Lecture 10: Pseudo-Random Permutations and the Security of Encryption Schemes Lecturer: Moni Naor Announce home )deadline.
CS555Spring 2012/Topic 91 Cryptography CS 555 Topic 9: Block Cipher Construction & DES.
Foundations of Cryptography Rahul Jain CS6209, Jan – April 2011
CMSC 414 Computer and Network Security Lecture 3 Jonathan Katz.
CS555Topic 211 Cryptography CS 555 Topic 21: Digital Schemes (1)
Cryptography Lecture 3 Arpita Patra.
Cryptography Lecture 10 Arpita Patra. Quick Recall and Today’s Roadmap >> CPA & CPA-mult security >> Equivalence of CPA and CPA-mult security >> El Gamal.
CS555Spring 2012/Topic 51 Cryptography CS 555 Topic 5: Pseudorandomness and Stream Ciphers.
Ryan Henry I 538 /B 609 : Introduction to Cryptography.
CS555Spring 2012/Topic 111 Cryptography CS 555 Topic 11: Encryption Modes and CCA Security.
Cryptography Lecture 2 Arpita Patra. Summary of Last Class  Introduction  Secure Communication in Symmetric Key setting >> SKE is the required primitive.
1 CIS 5371 Cryptography 4. Message Authentication Codes B ased on: Jonathan Katz and Yehuda Lindell Introduction to Modern Cryptography.
Secure Computation Lecture Arpita Patra. Recap >> Improving the complexity of GMW > Step I: Offline: O(n 2 c AND ) OTs; Online: i.t., no crypto.
CS555Spring 2012/Topic 31 Cryptography CS 555 Topic 3: One-time Pad and Perfect Secrecy.
CS555Spring 2012/Topic 71 Cryptography CS 555 Topic 7: Stream Ciphers and CPA Security.
Cryptography Lecture 4 Arpita Patra. Recall o Various Definitions and their equivalence (Shannon’s Theorem) o Inherent Drawbacks o Cannot afford perfect.
Cryptography Lecture 6 Arpita Patra © Arpita Patra.
Cryptography Lecture 9 Arpita Patra © Arpita Patra.
CS555Spring 2012/Topic 151 Cryptography CS 555 Topic 15: HMAC, Combining Encryption & Authentication.
Cryptography Lecture 10 Arpita Patra © Arpita Patra.
Cryptography Lecture 3 Arpita Patra © Arpita Patra.
Cryptography Lecture 6 Arpita Patra. Quick Recall and Today’s Roadmap >> MAC for fixed-length messages >> Domain Extension for MAC >> Authenticated Encryption:
Topic 36: Zero-Knowledge Proofs
Cryptography Lecture 5 Arpita Patra © Arpita Patra.
Updated Office Hours Tuesday: 10:30 AM-11:30 AM
Authenticated encryption
Modern symmetric-key Encryption
Secrecy of (fixed-length) stream ciphers
Topic 14: Random Oracle Model, Hashing Applications
Cryptography Lecture 9.
Topic 11: Authenticated Encryption + CCA-Security
Topic 5: Constructing Secure Encryption Schemes
Midterm Statistics Minimum Value 56.1 Maximum Value 93.8 Range 37.7
B504/I538: Introduction to Cryptography
Topic 30: El-Gamal Encryption
Cryptography Lecture 9 Arpita Patra © Arpita Patra.
Cryptography Lecture 6.
Cryptography Lecture 10.
Topic 7: Pseudorandom Functions and CPA-Security
B504/I538: Introduction to Cryptography
Cryptography Lecture 7.
Cryptography Lecture 11 Arpita Patra © Arpita Patra.
Cryptography Lecture 4 Arpita Patra © Arpita Patra.
Cryptography Lecture 5 Arpita Patra © Arpita Patra.
Cryptography Lecture 12 Arpita Patra © Arpita Patra.
Cryptography Lecture 5.
Cryptography Lecture 8.
Cryptography Lecture 5 Arpita Patra © Arpita Patra.
Cryptography Lecture 9.
Topic 13: Message Authentication Code
Cryptography Lecture 6.
Cryptography Lecture 6 Arpita Patra © Arpita Patra.
Cryptography Lecture 7.
Cryptography Lecture 10.
Cryptography Lecture 9.
Cryptography Lecture 6.
Presentation transcript:

CS555Spring 2012/Topic 81 Cryptography CS 555 Topic 8: Pseudorandom Functions and CPA Security

CS555Spring 2012/Topic 82 Outline and Readings Outline Keyed Function Pseudorandom function (PRF) Encryption using PRF Pseudorandom Permutation (PRF) Readings: Katz and Lindell: ~ 3.6.3

Keyed Function A key function F: {0,1} k  {0,1}*  {0,1}* –Takes two inputs, first called the key, second input –When k is fixed, F k : {0,1}*  {0,1}* –We say F is length-preserving when |F k (x)| = |x| = |k| Informal: A keyed function F is pseudorandom, iff when k  {0,1} n the resulting function is indistinguishable from a function chosen at uniform random from all functions {0,1}*  {0,1}* CS555Spring 2012/Topic 83

Use Func n : The Set of All Functions {0,1}*  {0,1}* How large is the set Func n ?(2 n ) 2^n =2 n2^n –When n=2, this is 2 8 ; n=8, this is Func n can be viewed as a big look-up table, storing values for each string in {0,1} n –The table can then be viewed as a string of length n2 n –Can define a keyed function such that each key selects a function in Func n ; call this the Random Function. How to implement a function f that is randomly chosen from Func n ? –Maintains a table that is initially empty. When one queries f(x), first looks in the table, if x does not exist, randomly chooses y, add (x,y) to the table, and return y; if (x,y) exists, then return y. CS555Spring 2012/Topic 84

Properties of Random Functions Let R be the random function such that R k, when k randomly chosen, gives a random function in Func n –Knowing R k (a) gives absolutely no information about R k (b) for a  b How to use the random function R for encryption? –How about Enc k (m)=R k (m)? Correct way: Given message m, randomly chooses r, then c :=  r, R k (r)  m  So long as r does not repeat, no information is leaked about m Assuming sharing an (extremely) long random string, different portions are used to encrypt different messages CS555Spring 2012/Topic 85

Pseudorandom Function (PRF) Definition 3.23 Given an efficient, length-preserving key function F: {0,1} k  {0,1}*  {0,1}*, we say F is a pseudorandom function iff for all PPT distinguisher D, there exists a negligible function negl such that |Pr[D Fk(  ) (1 n )=1] – Pr[D f(  ) (1 n )=1]|  negl(n) –Where k  {0,1} n is chosen uniformly at random and f is chosen uniformly at random from Func n. –D is given oracle access to a function, and needs to tell whether the function is a random one, or one from F. CS555Spring 2012/Topic 86

An Encryption Scheme Using PRF Construction 3.24, using a PRF F –Enc k (m): c :=  r, F k (r)  m  where r  {0,1} n is chosen at uniform random –Dec k (c): given c=  r, s , m := F k (r)  s –Intuitively this is secure: so long as r is not used for different messages, F k (r) should look completely random, hence m is like being encrypted using OTP Theorem If F is PRF, then Construction 3.24 is CPA-scure CS555Spring 2012/Topic 87

Proof of Theorem 3.25 Given any A that breaks CPA-security of  construction 3.24, construct a distinguisher D as follows: –D is given oracle access to a function g, and needs to tell from which distribution is g drawn –When A requests an encryption, uses c :=  r, g(r)  m  –If A succeeds in guessing which of m 0 and m 1 is encrypted under the challenge ciphertext, outputs 1 (PRF), otherwise output 0 (Random) CS555Spring 2012/Topic 88

More on Proof When D is given a random function f –Pr[D f(  ) (1 n )=1] = Pr[PrivK cpa A,  =1]  ½ + q(n)/2 n –Assuming that A makes at most q(n) requests for encryption, –We use  to denote Construction 3.24 with random function –When r used in the challenge message does not appear in other messages, Pr[PrivK cpa A,  =1] = ½ –Prob that r appears in other challenges is q(n)/2 n When D is given a pseudorandom function –Pr[D Fk(  ) (1 n )=1] = Pr[PrivK cpa A,  =1] Thus –Pr[PrivK cpa A,  =1] > ½ + negl(n) if and only if |Pr[D Fk(  ) (1 n )=1] – Pr[D f(  ) (1 n )=1]| > negl(n) CS555Spring 2012/Topic 89

Pseudorandom Permutations (PRP) We say that a length-preserving keyed function F: {0,1} k  {0,1}*  {0,1}*, is a keyed permutation if and only if each F k is a bijection A Pseudorandom Permutation (PRP) is a keyed permutation that is indistinguishable from a random permutation A Strong PRP is a keyed permutation is indistinguishable from a random permutation when the distinguisher is given access to both the function and its inverse We assume block ciphers are PRP. CS555Spring 2012/Topic 810

CS555Spring 2012/Topic 811 Coming Attractions … Block Cipher Construction Reading: Katz & Lindell: 5.1,5.2,5.3