public key encryp4on defini4ons and security
play

Public key encryp4on: defini4ons and security Dan Boneh - PowerPoint PPT Presentation

Online Cryptography Course


  1. Online ¡Cryptography ¡Course ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Dan ¡Boneh ¡ Public ¡Key ¡Encryp4on ¡ from ¡trapdoor ¡permuta4ons ¡ Public ¡key ¡encryp4on: ¡ defini4ons ¡and ¡security ¡ Dan ¡Boneh ¡

  2. Public ¡key ¡encryp4on ¡ Bob: ¡ ¡ ¡ ¡generates ¡ ¡ ¡ ¡(PK, ¡SK) ¡ ¡ ¡ ¡and ¡gives ¡ ¡PK ¡ ¡to ¡Alice ¡ ¡ Alice Bob m c c m E ¡ D ¡ sk ¡ pk ¡ Dan ¡Boneh ¡

  3. Applica4ons ¡ Session ¡setup ¡ ¡ ¡ ¡ (for ¡now, ¡only ¡eavesdropping ¡security) ¡ Bob ¡ Alice ¡ pk ¡ Generate ¡ ¡(pk, ¡sk) ¡ choose ¡random ¡x ¡ E(pk, ¡x) ¡ (e.g. ¡ ¡48 ¡bytes) ¡ ¡ x ¡ Non-­‑interac3ve ¡applica3ons : ¡ ¡(e.g. ¡ ¡Email) ¡ • Bob ¡sends ¡email ¡to ¡Alice ¡encrypted ¡using ¡ ¡pk alice ¡ • Note: ¡ ¡ ¡Bob ¡needs ¡ ¡pk alice ¡ ¡ ¡ ¡ (public ¡key ¡management) ¡ Dan ¡Boneh ¡

  4. Public ¡key ¡encryp4on ¡ Def : ¡ ¡ ¡a ¡public-­‑key ¡encryp4on ¡system ¡is ¡a ¡triple ¡of ¡algs. ¡ ¡ ¡(G, ¡E, ¡D) ¡ • G(): ¡ ¡ ¡randomized ¡alg. ¡outputs ¡a ¡key ¡pair ¡ ¡ ¡ ¡(pk, ¡ ¡sk) ¡ • E(pk, ¡m): ¡ ¡randomized ¡alg. ¡that ¡takes ¡ ¡m ∈ M ¡and ¡outputs ¡c ¡ ∈ C ¡ • D(sk,c): ¡ ¡ ¡det. ¡ ¡alg. ¡that ¡takes ¡ ¡c ∈ C ¡and ¡outputs ¡m ∈ M ¡or ¡ ⊥ ¡ Consistency: ¡ ¡ ¡ ¡ ∀ (pk, ¡ ¡sk) ¡output ¡by ¡G ¡: ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ∀ m ∈ M: ¡ ¡ ¡ ¡ ¡D(sk, ¡ ¡E(pk, ¡m) ¡) ¡= ¡m ¡ ¡ Dan ¡Boneh ¡

  5. Security: ¡ ¡ ¡eavesdropping ¡ For ¡ ¡ ¡b=0,1 ¡ ¡ ¡define ¡experiments ¡EXP(0) ¡and ¡EXP(1) ¡as: ¡ pk ¡ Chal. ¡ Adv. ¡A ¡ b ¡ m 0 ¡, ¡m 1 ¡ ¡ ∈ ¡M ¡: ¡ ¡ ¡ ¡|m 0 | ¡= ¡|m 1 | ¡ (pk,sk) ← G() ¡ c ¡ ← ¡E(pk, ¡ m b ) ¡ b’ ¡ ∈ ¡{0,1} ¡ ¡ EXP(b) ¡ Def: ¡ ¡ E = (G,E,D) ¡is ¡sem. ¡secure ¡(a.k.a ¡IND-­‑CPA) ¡if ¡for ¡all ¡efficient ¡ ¡A: ¡ ¡Adv SS ¡[A, E ] ¡ ¡= ¡ ¡ | Pr[EXP(0)=1] ¡– ¡Pr[EXP(1)=1] ¡ | ¡ ¡ < ¡ ¡ ¡negligible ¡ Dan ¡Boneh ¡

  6. Rela4on ¡to ¡symmetric ¡cipher ¡security ¡ Recall: ¡ ¡ ¡for ¡symmetric ¡ciphers ¡we ¡had ¡two ¡security ¡no4ons: ¡ • One-­‑4me ¡security ¡ ¡ ¡ ¡ ¡ ¡and ¡ ¡ ¡ ¡many-­‑4me ¡security ¡(CPA) ¡ • We ¡showed ¡that ¡ ¡one-­‑4me ¡security ¡ ¡ ⇒ ¡ ¡many-­‑4me ¡security ¡ For ¡public ¡key ¡encryp4on: ¡ • One-­‑4me ¡security ¡ ¡ ¡ ¡ ⇒ ¡ ¡ ¡many-­‑4me ¡security ¡ ¡(CPA) ¡ ¡(follows ¡from ¡the ¡fact ¡that ¡aaacker ¡can ¡encrypt ¡by ¡himself) ¡ • Public ¡key ¡encryp4on ¡ must ¡be ¡randomized ¡ Dan ¡Boneh ¡

  7. Security ¡against ¡ac4ve ¡aaacks ¡ What ¡if ¡aaacker ¡can ¡tamper ¡with ¡ciphertext? ¡ mail ¡server ¡ Caroline ¡ to: ¡caroline@gmail ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡body ¡ (e.g. ¡Gmail) ¡ aaacker: ¡ pk server ¡ ¡ ¡to: ¡aaacker@gmail ¡ ¡ ¡ ¡ ¡ ¡ ¡body ¡ sk server ¡ aaacker ¡ Aaacker ¡is ¡given ¡decryp4on ¡of ¡msgs ¡ ¡that ¡start ¡with ¡ “to: ¡a;acker” ¡ Dan ¡Boneh ¡

  8. (pub-­‑key) ¡Chosen ¡Ciphertext ¡Security: ¡ ¡defini4on ¡ E = ¡(G,E,D) ¡ ¡public-­‑key ¡enc. ¡over ¡ ¡(M,C) . For ¡ ¡ ¡b=0,1 ¡ ¡ ¡define ¡EXP(b): ¡ pk ¡ Chal. ¡ Adv. ¡A ¡ (pk,sk) ← G() ¡ b ¡ CCA ¡phase ¡1: ¡ ¡ ¡ ¡ ¡ ¡c i ¡ ∈ ¡C ¡ ¡ m i ¡ ← ¡D(k, ¡c i ) ¡ ¡ challenge: ¡ ¡ ¡ ¡m 0 ¡, ¡m 1 ¡ ¡ ∈ ¡M ¡: ¡ ¡ ¡ ¡|m 0 | ¡= ¡|m 1 | ¡ c ¡ ← ¡E(pk, ¡m b ) ¡ CCA ¡phase ¡2: ¡ ¡ ¡ ¡ ¡ ¡c i ¡ ∈ ¡C ¡ ¡: ¡ ¡ ¡ ¡ ¡ c i ¡≠ ¡c ¡ b’ ¡ ∈ ¡{0,1} ¡ ¡ ¡ m i ¡ ← ¡D(k, ¡c i ) ¡ Dan ¡Boneh ¡

  9. Chosen ¡ciphertext ¡security: ¡defini4on ¡ Def : ¡ ¡ ¡ E ¡is ¡CCA ¡secure ¡(a.k.a ¡ ¡IND-­‑CCA) ¡ ¡if ¡for ¡all ¡efficient ¡ ¡A: ¡ ¡ ¡ ¡ ¡ ¡Adv CCA ¡[A, E ] ¡ ¡= ¡ ¡ | Pr[EXP(0)=1] ¡– ¡Pr[EXP(1)=1] ¡ | ¡ ¡ is ¡negligible. ¡ Example: ¡ ¡ ¡Suppose ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ⟶ ¡ ¡ (to: ¡alice, ¡ ¡body) ¡ (to: ¡david, ¡ ¡body) ¡ ¡ pk ¡ b ¡ Chal. ¡ Adv. ¡A ¡ chal.: ¡ ¡ ¡ ¡ (to:alice, ¡ ¡0) ¡ ¡ ¡ ¡, ¡ ¡ ¡ ¡ ¡ (to:alice, ¡ ¡1) ¡ (pk,sk) ← G() ¡ c ¡ c ¡ ← ¡E(pk, ¡m b ) ¡ (to: ¡david, ¡ ¡b) ¡ CCA ¡phase ¡2: ¡ ¡ ¡ ¡ c’ ¡= ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡≠c ¡ (to: ¡david, ¡ ¡ ¡b) ¡ b ¡ m’ ¡ ← ¡D(sk, ¡c’ ¡ ) ¡ Dan ¡Boneh ¡

  10. Ac4ve ¡aaacks: ¡ ¡ ¡symmetric ¡vs. ¡pub-­‑key ¡ Recall: ¡ ¡secure ¡symmetric ¡cipher ¡provides ¡ ¡ ¡ authen3cated ¡encryp3on ¡ ¡ [ ¡ chosen ¡plaintext ¡security ¡ ¡ ¡& ¡ ¡ ¡ciphertext ¡integrity ¡ ¡ ] ¡ • Roughly ¡speaking: ¡ ¡ ¡ ¡ ¡ a;acker ¡cannot ¡create ¡new ¡ciphertexts ¡ • Implies ¡security ¡against ¡chosen ¡ciphertext ¡aaacks ¡ In ¡public-­‑key ¡sefngs: ¡ • Aaacker ¡ can ¡create ¡new ¡ciphertexts ¡using ¡ ¡pk ¡ ¡ ¡!! ¡ • So ¡instead: ¡ ¡ ¡ ¡we ¡directly ¡require ¡chosen ¡ciphertext ¡security ¡ Dan ¡Boneh ¡

  11. This ¡and ¡next ¡module: ¡ ¡ ¡construc4ng ¡CCA ¡secure ¡pub-­‑key ¡systems ¡ End ¡of ¡Segment ¡ Dan ¡Boneh ¡

  12. Online ¡Cryptography ¡Course ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Dan ¡Boneh ¡ Public ¡Key ¡Encryp4on ¡ from ¡trapdoor ¡permuta4ons ¡ Construc4ons ¡ Goal: ¡ ¡ ¡construct ¡chosen-­‑ciphertext ¡secure ¡public-­‑key ¡encryp4on ¡ Dan ¡Boneh ¡

  13. Trapdoor ¡func4ons ¡(TDF) ¡ Def : ¡ ¡ ¡a ¡trapdoor ¡func. ¡ ¡X ⟶ Y ¡ ¡is ¡a ¡triple ¡of ¡efficient ¡algs. ¡ ¡ ¡(G, ¡F, ¡F -­‑1 ) ¡ • G(): ¡ ¡ ¡randomized ¡alg. ¡outputs ¡a ¡key ¡pair ¡ ¡ ¡ ¡(pk, ¡ ¡sk) ¡ • F(pk, ⋅ ): ¡ ¡ ¡det. ¡alg. ¡that ¡defines ¡a ¡func4on ¡ ¡ ¡ ¡X ¡ ⟶ ¡Y ¡ • F -­‑1 (sk, ⋅ ): ¡ ¡ ¡ ¡defines ¡a ¡func4on ¡ ¡ ¡ ¡Y ¡ ⟶ ¡ ¡X ¡ ¡ ¡ ¡that ¡inverts ¡ ¡ ¡F(pk, ⋅ ) ¡ ¡ More ¡precisely: ¡ ¡ ¡ ¡ ∀ (pk, ¡ ¡sk) ¡output ¡by ¡G ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ∀ x ∈ X: ¡ ¡ ¡ ¡ ¡F -­‑1 (sk, ¡ ¡F(pk, ¡x) ¡) ¡= ¡x ¡ ¡ Dan ¡Boneh ¡

  14. Secure ¡Trapdoor ¡Func4ons ¡(TDFs) ¡ (G, ¡F, ¡F -­‑1 ) ¡is ¡secure ¡if ¡ ¡ ¡F(pk, ¡ ⋅ ) ¡ ¡ ¡is ¡a ¡“one-­‑way” ¡func4on: ¡ ¡can ¡be ¡evaluated, ¡but ¡cannot ¡be ¡inverted ¡without ¡ ¡sk ¡ ¡ Chal. ¡ Adv. ¡A ¡ ¡ (pk,sk) ← G() ¡ ¡ pk, ¡ ¡ ¡y ¡ ← ¡F(pk, ¡x ) ¡ x’ ¡ R ¡ x ¡ ⟵ ¡X ¡ ¡ ¡ Def : ¡ ¡ ¡ ( G, ¡F, ¡F -­‑1 ) ¡ ¡is ¡a ¡secure ¡TDF ¡if ¡for ¡all ¡efficient ¡ ¡A: ¡ ¡ ¡ ¡ ¡Adv OW ¡ [A,F] ¡ ¡= ¡ ¡ Pr [ ¡ x ¡= ¡x’ ¡ ] ¡ ¡ ¡ < ¡ ¡negligible ¡ Dan ¡Boneh ¡

  15. Public-­‑key ¡encryp4on ¡from ¡TDFs ¡ ¡ • (G, ¡F, ¡F -­‑1 ): ¡ ¡ ¡ ¡secure ¡TDF ¡ ¡ ¡X ¡ ⟶ ¡Y ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ • (E s , ¡D s ) ¡: ¡ ¡ ¡symmetric ¡auth. ¡encryp4on ¡defined ¡over ¡(K,M,C) ¡ • H: ¡X ¡ ⟶ ¡K ¡ ¡ ¡a ¡hash ¡func4on ¡ ¡ We ¡construct ¡a ¡pub-­‑key ¡enc. ¡system ¡(G, ¡E, ¡D): ¡ ¡Key ¡genera4on ¡G: ¡ ¡ ¡ ¡same ¡as ¡G ¡for ¡TDF ¡ Dan ¡Boneh ¡

Recommend


More recommend