mit 6 875 berkeley cs276
play

MIT 6.875 & Berkeley CS276 Foundations of Cryptography Lecture - PowerPoint PPT Presentation

MIT 6.875 & Berkeley CS276 Foundations of Cryptography Lecture 3 Roadmap of the Course: Worlds in Crypto Cryptomania: Public-key Lecture 7-10, encryption Minicrypt: Zero- Knowledge Lecture 2-6, 11-12 proofs PRP Digital Bit


  1. MIT 6.875 & Berkeley CS276 Foundations of Cryptography Lecture 3

  2. Roadmap of the Course: Worlds in Crypto … Cryptomania: Public-key Lecture 7-10,… encryption Minicrypt: Zero- Knowledge Lecture 2-6, 11-12 proofs PRP Digital Bit Signatures Commitment Secret-key PRF encryption PRG Hashing OWF OWF

  3. Today 1. Define one-way functions (OWF). 2. Define Hardcore bits (HCB). 3. Show that one-way functions* + HCB ⇒ PRG 4. Goldreich-Levin Theorem: every OWF has a HCB.

  4. One-way Functions (Informally) F Easy to compute Hard to invert domain range

  5. One-way Functions (Take 1) ! : {0,1} ! → {0,1} $(!) is A function (family) 𝐺 ! !∈ℕ where 𝐺 one-way if for every p.p.t. adversary 𝐵 , there is a negligible function 𝜈 s.t. Pr 𝑦 ← 0,1 ! ; 𝑧 = 𝐺 ! 𝑦 : 𝐵 1 ! , 𝑧 = 𝑦 ≤ 𝜈(𝑜) Consider 𝑮 𝒐 𝒚 = 𝟏 for all x. This is one-way according to the above definition. In fact, impossible to find the inverse even if 𝐵 has unbounded time. Conclusion: not a useful/meaningful definition.

  6. One-way Functions (Take 1) ! : {0,1} ! → {0,1} $(!) is A function (family) 𝐺 ! !∈ℕ where 𝐺 one-way if for every p.p.t. adversary 𝐵 , there is a negligible function 𝜈 s.t. Pr 𝑦 ← 0,1 ! ; 𝑧 = 𝐺 ! 𝑦 : 𝐵 1 ! , 𝑧 = 𝑦 ≤ 𝜈(𝑜) The Right Definition: Impossible to find an inverse in p.p.t.

  7. One-way Functions: The Definition ! : {0,1} ! → {0,1} $(!) is A function (family) 𝐺 ! !∈ℕ where 𝐺 one-way if for every p.p.t. adversary 𝐵 , there is a negligible function 𝜈 s.t. Pr 𝑦 ← 0,1 ! ; 𝑧 = 𝐺 ! 𝑦 ; 𝐵 1 ! , 𝑧 = 𝒚 ( : 𝒛 = 𝑮 𝒐 𝒚 ( ≤ 𝜈(𝑜) • Can always find an inverse with unbounded time • … but should be hard with probabilistic polynomial time One-way Permutations : One-to-one one-way functions with 𝑛 𝑜 = 𝑜.

  8. One-way Functions: Candidates Subset sum: ! 𝑦 * 𝑏 * mod 2 !,) ) G( 𝑏 ) , … , 𝑏 ! , 𝑦 ) , … , 𝑦 ! ) = ( 𝑏 ) , … , 𝑏 ! , ∑ *+) where 𝑏 * are random n-bit numbers, and 𝑦 * are random bits. One-way functions candidates are abundant in nature. We will see many other candidates from number theory, coding theory, combinatorics later in class.

  9. Today 1. Define one-way functions (OWF). 2. Define Hardcore bits (HCB). 3. Show that one-way permutations (OWP) ⇒ PRG 4. Goldreich-Levin Theorem: every OWF has a HCB.

  10. Hardcore Bits If 𝐺 is a one-way function, we know it’s hard to compute a pre-image of 𝐺 𝑦 for a randomly chosen 𝑦 . How about computing partial information about an inverse? Exercise : There are one-way functions for which it is easy to compute the first half of the bits of the inverse.

  11. Hardcore Bits If 𝐺 is a one-way function, we know it’s hard to compute a pre-image of 𝐺 𝑦 for a randomly chosen 𝑦 . HARDCORE BIT (Take 1) Nevertheless, there has to be a hardcore set of hard to invert Nevertheless, there has to be a hardcore set of hard to invert inputs. Concretely: Does there necessarily exist some bit of 𝑦 inputs. Concretely: Does there exist some bit of 𝑦 that is hard that is hard to compute? to guess with probability non-negligibly better than 1/2? • Any bit can be guessed correctly w.p. 1/2 • So, “hard to compute” → “hard to guess with probability non-negligibly better than 1/2”

  12. Hardcore Bits If 𝐺 is a one-way function, we know it’s hard to compute a pre-image of 𝐺 𝑦 for a randomly chosen 𝑦 . HARDCORE BIT (Take 1) For any function (family) 𝐺: {0,1} ! → {0,1} $ , a bit 𝑗 = 𝑗(𝑜) is hardcore if for every p.p.t. adversary 𝐵 , there is a negligible function 𝜈 s.t. Pr 𝑦 ← 0,1 ! ; 𝑧 = 𝐺 𝑦 : 𝐵 𝑧 = 𝑦 * ≤ 1 2 + 𝜈(𝑜)

  13. Does every one-way function have a hardcore bit? (Hard) Exercise : There are functions that are one-way, yet every bit is somewhat easy to predict (say, with probability ) - + 1/𝑜 ). So, we will generalize the notion of a hardcore “bit”.

  14. Hardcore Bits HARDCORE PREDICATE (Definition) For any function (family) 𝐺: {0,1} ! → {0,1} $ , a function 𝐶: {0,1} ! → {0,1} is a hardcore predicate if for every p.p.t. adversary 𝐵 , there is a negligible function 𝜈 s.t. Pr 𝑦 ← 0,1 ! ; 𝑧 = 𝐺 𝑦 : 𝐵 𝑧 = 𝐶(𝑦) ≤ 1 2 + 𝜈(𝑜) For us, henceforth, a hardcore bit will mean a hardcore predicate.

  15. Hardcore Predicate (in pictures) F(x) o t y s e a t E u p m o c Hard to x compute Easy to B(x) compute

  16. Discussion on the Definition HARDCORE PREDICATE (Definition) For any function (family) 𝐺: {0,1} ! → {0,1} $ , a bit 𝐶: {0,1} ! → {0,1} is a hardcore predicate (HCP) if for every p.p.t. adversary 𝐵 , there is a negligible function 𝜈 s.t. Pr 𝑦 ← 0,1 ! ; 𝑧 = 𝐺 𝑦 : 𝐵 𝑧 = 𝐶(𝑦) ≤ 1 2 + 𝜈(𝑜) 1. Definition of HCP makes sense for any function family, not just one-way functions. 2. Some functions can have information-theoretically hard to guess predicates (e.g., compressing functions) 3. We’ll be interested in settings where 𝑦 is uniquely determined given F(𝑦) , yet B(𝑦) is hard to predict given F(𝑦)

  17. Today 1. Define one-way functions (OWF). 2. Define Hardcore bits (HCB). 3. Show that one-way permutations (OWP) ⇒ PRG 4. Goldreich-Levin Theorem: every OWF has a HCB.

  18. OWP ⇒ PRG CONSTRUCTION Let 𝐺 be a one-way permutation, and 𝐶 an associated hardcore predicate for 𝐺 . Then, define 𝐻 𝑦 = F 𝑦 | B(𝑦) . Theorem : 𝐻 is a PRG assuming 𝐺 is a one-way permutation. (Note that 𝐻 stretches by one bit. Shafi will tell you how to extend the stretch of 𝐻 to any poly number of bits.)

  19. OWP ⇒ PRG CONSTRUCTION Let 𝐺 be a one-way permutation, and 𝐶 an associated hardcore predicate for 𝐺 . Then, define 𝐻 𝑦 = F 𝑦 | B(𝑦) . Theorem : 𝐻 is a PRG assuming 𝐺 is a one-way permutation. Proof (next slide) : From Distinguishing to Predicting.

  20. OWP ⇒ PRG Theorem : 𝐻 is a PRG assuming 𝐺 is a one-way permutation. Proof : Assume for contradiction that 𝐻 is not a PRG. Therefore, there is a p.p.t. distinguisher 𝐸 and a polynomial function 𝑞 such that Pr 𝑦 ← 0,1 ! ; 𝑧 = 𝐻 𝑦 : 𝐸 𝑧 = 1 − Pr 𝑧 ← 0,1 !,) ∶ 𝐸 𝑧 = 1 ≥ 1/𝑞(𝑜) Think: D outputs “1” = D thinks its input is pseudorandom

  21. OWP ⇒ PRG Theorem : 𝐻 is a PRG assuming 𝐺 is a one-way permutation and B is its hardcore predicate . Proof : Assume for contradiction that 𝐻 is not a PRG. Therefore, there is a p.p.t. distinguisher 𝐸 and a polynomial function 𝑞 such that Pr 𝑦 ← 0,1 ! ; 𝑧 = 𝐻 𝑦 : 𝐸 𝑧 = 1 − Pr 𝑧 ← 0,1 !,) ∶ 𝐸 𝑧 = 1 ≥ 1/𝑞(𝑜) We will construct a hardcore predictor 𝐵 and show: Pr 𝑦 ← 0,1 ! : 𝐵 𝐺(𝑦) = 𝐶(𝑦) ≥ 1 2 + 1/𝑞′(𝑜)

  22. OWP ⇒ PRG Theorem : 𝐻 is a PRG assuming 𝐺 is a one-way permutation and B is its hardcore predicate . Proof : Assume for contradiction that 𝐻 is not a PRG. Therefore, there is a p.p.t. distinguisher 𝐸 and a polynomial function 𝑞 such that Pr 𝑦 ← 0,1 ! ; 𝑧 = 𝐻 𝑦 : 𝐸 𝑧 = 1 − Pr 𝑧 ← 0,1 !,) ∶ 𝐸 𝑧 = 1 ≥ 1/𝑞(𝑜) We will construct a hardcore predictor 𝐵 and show: Pr 𝑦 ← 0,1 ! : 𝐵 𝐺(𝑦) = 𝐶(𝑦) ≥ 1 2 + 1/𝑞′(𝑜)

  23. OWP ⇒ PRG Let’s look closely at D. Pr 𝑦 ← 0,1 ! ; 𝑧 = 𝐻 𝑦 : 𝐸 𝑧 = 1 − Pr 𝑧 ← 0,1 !,) ∶ 𝐸 𝑧 = 1 ≥ 1/𝑞(𝑜) By definition: Pr 𝑦 ← 0,1 ! ; 𝑧 = 𝐺 𝑦 |𝐶(𝑦): 𝐸 𝑧 = 1 − Pr 𝑧 ← 0,1 !,) ∶ 𝐸 𝑧 = 1 ≥ 1/𝑞(𝑜)

  24. OWP ⇒ PRG Let’s look closely at D. Pr 𝑦 ← 0,1 ! ; 𝑧 = 𝐻 𝑦 : 𝐸 𝑧 = 1 − Pr 𝑧 ← 0,1 !,) ∶ 𝐸 𝑧 = 1 ≥ 1/𝑞(𝑜) A syntactic change: Pr 𝑦 ← 0,1 ! ; 𝑧 = 𝐺 𝑦 |𝐶(𝑦): 𝐸 𝑧 = 1 − Pr 𝑧 . ← 0,1 ! , 𝑧 ) ← 0,1 , 𝑧 = 𝑧 . |𝑧 ) : 𝐸(𝑧) = 1 ≥ 1/𝑞(𝑜)

  25. OWP ⇒ PRG Let’s look closely at D. Pr 𝑦 ← 0,1 ! ; 𝑧 = 𝐻 𝑦 : 𝐸 𝑧 = 1 − Pr 𝑧 ← 0,1 !,) ∶ 𝐸 𝑧 = 1 ≥ 1/𝑞(𝑜) Rewriting the second term: Pr 𝑦 ← 0,1 ! ; 𝑧 = 𝐺 𝑦 |𝐶(𝑦): 𝐸 𝑧 = 1 − Pr 𝑦 ← 0,1 ! , 𝑧 ) ← 0,1 , 𝑧 = 𝐺(𝑦)|𝑧 ) : 𝐸(𝑧) = 1 ≥ 1/𝑞(𝑜) = Pr 𝑦 ← 0,1 ! , 𝑧 = 𝐺(𝑦)|𝟏: 𝐸(𝑧) = 1 + Pr 𝑦 ← 0,1 ! , 𝑧 = 𝐺(𝑦)|𝟐: 𝐸(𝑧) = 1 2

  26. OWP ⇒ PRG Let’s look closely at D. Pr 𝑦 ← 0,1 ! ; 𝑧 = 𝐻 𝑦 : 𝐸 𝑧 = 1 − Pr 𝑧 ← 0,1 !,) ∶ 𝐸 𝑧 = 1 ≥ 1/𝑞(𝑜) Rewriting the second term (again): Pr 𝑦 ← 0,1 ! ; 𝑧 = 𝐺 𝑦 |𝐶(𝑦): 𝐸 𝑧 = 1 − Pr 𝑦 ← 0,1 ! , 𝑧 ) ← 0,1 , 𝑧 = 𝐺(𝑦)|𝑧 ) : 𝐸(𝑧) = 1 ≥ 1/𝑞(𝑜) = Pr 𝑦 ← 0,1 ! , 𝑧 = 𝐺(𝑦)|𝑪(𝒚): 𝐸(𝑧) = 1 + Pr 𝑦 ← 0,1 ! , 𝑧 = 𝐺(𝑦)|𝑪(𝒚): 𝐸(𝑧) = 1 2

  27. OWP ⇒ PRG Let’s look closely at D. Pr 𝑦 ← 0,1 ! ; 𝑧 = 𝐻 𝑦 : 𝐸 𝑧 = 1 − Pr 𝑧 ← 0,1 !,) ∶ 𝐸 𝑧 = 1 ≥ 1/𝑞(𝑜) Putting things together: 1 2 (Pr 𝑦 ← 0,1 ! ; 𝑧 = 𝐺 𝑦 |𝑪(𝒚): 𝐸 𝑧 = 1 − Pr 𝑦 ← 0,1 ! , 𝑧 = 𝐺(𝑦)|𝑪(𝒚): 𝐸(𝑧) = 1 ) ≥ 1/𝑞(𝑜) In English: D says “1” more often when fed with the “right bit” than the “wrong bit”.

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