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)

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend