symmetric key encryption constructions
play

Symmetric-Key Encryption: constructions Lecture 4 OWF , PRG, - PowerPoint PPT Presentation

Symmetric-Key Encryption: constructions Lecture 4 OWF , PRG, Stream Cipher One-Way Function, RECALL Hardcore Predicate One-Way Function, RECALL Hardcore Predicate f k : {0,1} k {0,1} n(k) is a one-way function (OWF) if f is polynomial


  1. Symmetric-Key Encryption: constructions Lecture 4 OWF , PRG, Stream Cipher

  2. One-Way Function, RECALL Hardcore Predicate

  3. One-Way Function, RECALL Hardcore Predicate f k : {0,1} k → {0,1} n(k) is a one-way function (OWF) if f is polynomial time computable f(x) For all (non-uniform) PPT adversary, probability x’ of success in the “OWF experiment” is negligible x ← {0,1} k But x may not be completely hidden by f(x) f(x’)=f(x)? Yes/No

  4. One-Way Function, RECALL Hardcore Predicate f k : {0,1} k → {0,1} n(k) is a one-way function (OWF) if f is polynomial time computable f(x) For all (non-uniform) PPT adversary, probability x’ of success in the “OWF experiment” is negligible x ← {0,1} k But x may not be completely hidden by f(x) f(x’)=f(x)? Yes/No B is a hardcore predicate of a OWF f if B is polynomial time computable f(x) b’ For all (non-uniform) PPT adversary, advantage in the Hardcore-predicate experiment is x ← {0,1} k negligible b’ = B(x)? Yes/No B(x) remains “completely” hidden, given f(x)

  5. One-Way Function Candidates

  6. One-Way Function Candidates Integer factorization:

  7. One-Way Function Candidates Integer factorization: f mult (x,y) = x ⋅ y

  8. One-Way Function Candidates Integer factorization: f mult (x,y) = x ⋅ y Input distribution: (x,y) random k-bit primes

  9. One-Way Function Candidates Integer factorization: f mult (x,y) = x ⋅ y Input distribution: (x,y) random k-bit primes Fact: input distribution (x,y) random k-bit integers will also work (if k-bit primes distribution works)

  10. One-Way Function Candidates Integer factorization: f mult (x,y) = x ⋅ y Input distribution: (x,y) random k-bit primes Fact: input distribution (x,y) random k-bit integers will also work (if k-bit primes distribution works) Important that we require |x|=|y|=k, not |x ⋅ y|=k (otherwise, 2 is a factor of x.y with 3/ 4 probability)

  11. One-Way Function Candidates

  12. One-Way Function Candidates Solving Subset Sum:

  13. One-Way Function Candidates Solving Subset Sum: f subsum (x 1 ...x k , S) = (x 1 ...x k , Σ i ∈ S x i )

  14. One-Way Function Candidates Solving Subset Sum: f subsum (x 1 ...x k , S) = (x 1 ...x k , Σ i ∈ S x i ) Input distribution: x i k-bit integers, S ⊆ {1...k}. Uniform

  15. One-Way Function Candidates Solving Subset Sum: f subsum (x 1 ...x k , S) = (x 1 ...x k , Σ i ∈ S x i ) Input distribution: x i k-bit integers, S ⊆ {1...k}. Uniform Inverting f subsum known to be NP-complete, but assuming that it is a OWF is “stronger” than assuming P ≠ NP

  16. One-Way Function Candidates

  17. One-Way Function Candidates Rabin OWF: f Rabin (x; n) = (x 2 mod n, n), where n = pq, and p, q are random k-bit primes, and x is uniform from {0...n}

  18. One-Way Function Candidates Rabin OWF: f Rabin (x; n) = (x 2 mod n, n), where n = pq, and p, q are random k-bit primes, and x is uniform from {0...n} Note that n is part of the output. This OWF can be used as a “OWF collection” indexed by n (many functions for the same k, using different n)

  19. One-Way Function Candidates Rabin OWF: f Rabin (x; n) = (x 2 mod n, n), where n = pq, and p, q are random k-bit primes, and x is uniform from {0...n} Note that n is part of the output. This OWF can be used as a “OWF collection” indexed by n (many functions for the same k, using different n) More e.g.: RSA function (uses as index: n=pq, and an exponent e), Discrete Logarithm (uses as index: a group and a generator)

  20. One-Way Function Candidates Rabin OWF: f Rabin (x; n) = (x 2 mod n, n), where n = pq, and p, q are random k-bit primes, and x is uniform from {0...n} Note that n is part of the output. This OWF can be used as a “OWF collection” indexed by n (many functions for the same k, using different n) More e.g.: RSA function (uses as index: n=pq, and an exponent e), Discrete Logarithm (uses as index: a group and a generator) Later

  21. Hardcore Predicates

  22. Hardcore Predicates For candidate OWFs, often hardcore predicates known

  23. Hardcore Predicates For candidate OWFs, often hardcore predicates known e.g. if f Rabin (x;n) (with certain restrictions on sampling x and n) is a OWF , then LSB(x) is a hardcore predicate for it

  24. Hardcore Predicates For candidate OWFs, often hardcore predicates known e.g. if f Rabin (x;n) (with certain restrictions on sampling x and n) is a OWF , then LSB(x) is a hardcore predicate for it Reduction: Given an algorithm for finding LSB(x) from f Rabin (x;n) for random x, show how to invert f Rabin

  25. Goldreich-Levin Predicate

  26. Goldreich-Levin Predicate Given any OWF f, can slightly modify it to get a OWF g f such that

  27. Goldreich-Levin Predicate Given any OWF f, can slightly modify it to get a OWF g f such that g f has a simple hardcore predicate

  28. Goldreich-Levin Predicate Given any OWF f, can slightly modify it to get a OWF g f such that g f has a simple hardcore predicate g f is almost as efficient as f; is a permutation if f is one

  29. Goldreich-Levin Predicate Given any OWF f, can slightly modify it to get a OWF g f such that g f has a simple hardcore predicate g f is almost as efficient as f; is a permutation if f is one g f (x,r) = (f(x), r), where |r|=|x|

  30. Goldreich-Levin Predicate Given any OWF f, can slightly modify it to get a OWF g f such that g f has a simple hardcore predicate g f is almost as efficient as f; is a permutation if f is one g f (x,r) = (f(x), r), where |r|=|x| Input distribution: x as for f, and r independently random

  31. Goldreich-Levin Predicate Given any OWF f, can slightly modify it to get a OWF g f such that g f has a simple hardcore predicate g f is almost as efficient as f; is a permutation if f is one g f (x,r) = (f(x), r), where |r|=|x| Input distribution: x as for f, and r independently random GL-predicate: B(x,r) = <x,r> (dot product of bit vectors)

  32. Goldreich-Levin Predicate Given any OWF f, can slightly modify it to get a OWF g f such that g f has a simple hardcore predicate g f is almost as efficient as f; is a permutation if f is one g f (x,r) = (f(x), r), where |r|=|x| Input distribution: x as for f, and r independently random GL-predicate: B(x,r) = <x,r> (dot product of bit vectors) Can show that a predictor of B(x,r) with non-negligible advantage can be turned into an inversion algorithm for f

  33. Goldreich-Levin Predicate Given any OWF f, can slightly modify it to get a OWF g f such that g f has a simple hardcore predicate g f is almost as efficient as f; is a permutation if f is one g f (x,r) = (f(x), r), where |r|=|x| Input distribution: x as for f, and r independently random GL-predicate: B(x,r) = <x,r> (dot product of bit vectors) Can show that a predictor of B(x,r) with non-negligible advantage can be turned into an inversion algorithm for f Predictor for B(x,r) is a “noisy channel” through which x, encoded as (<x,0>,<x,1>...<x,2 |x| -1>) (Walsh-Hadamard code), is transmitted. Can recover x by error-correction (local list decoding)

  34. Pseudorandomness RECALL Generator (PRG) Expand a short random seed to a “random-looking” string So that we can build “stream ciphers” (to encrypt a stream of data, using just one short shared key) First, PRG with fixed stretch: G k : {0,1} k → {0,1} n(k) , n(k) > k Random-looking: Next-Bit Unpredictability: PPT adversary can’ t predict i th bit of a sample from its first (i-1) bits (for every i ∈ {0,1,...,n-1}) A “more correct” definition: PPT adversary can’ t distinguish between a sample from {G k (x)} x ← {0,1}k and one from {0,1} n(k) Turns out they are equivalent! | Pr y ← PRG [A(y)=0] - Pr y ← rand [A(y)=0] | is negligible for all PPT A

  35. Computational Indistinguishability

  36. Computational Indistinguishability Distribution ensemble: A sequence of distributions (typically on a growing sample-space) indexed by k. Denoted {X k } k

  37. Computational Indistinguishability Distribution ensemble: A sequence of distributions (typically on a growing sample-space) indexed by k. Denoted {X k } k E.g., ciphertext distributions, indexed by security parameter

  38. Computational Indistinguishability Distribution ensemble: A sequence of distributions (typically on a growing sample-space) indexed by k. Denoted {X k } k E.g., ciphertext distributions, indexed by security parameter Two distribution ensembles {X k } k and {X’ k } k are called computationally indistinguishable if

  39. Computational Indistinguishability Distribution ensemble: A sequence of distributions (typically on a growing sample-space) indexed by k. Denoted {X k } k E.g., ciphertext distributions, indexed by security parameter Two distribution ensembles {X k } k and {X’ k } k are called computationally indistinguishable if ∃ negligible ν (k) such that ∀ (non-uniform) PPT distinguisher D

  40. Computational Indistinguishability Distribution ensemble: A sequence of distributions (typically on a growing sample-space) indexed by k. Denoted {X k } k E.g., ciphertext distributions, indexed by security parameter Two distribution ensembles {X k } k and {X’ k } k are called computationally indistinguishable if ∃ negligible ν (k) such that ∀ (non-uniform) PPT distinguisher D | Pr x ← X k [D(x)=1] - Pr x ← X’ k [D(x)=1] | ≤ ν (k)

Recommend


More recommend