the magic of elfs
play

The Magic of ELFs Mark Zhandry Princeton University (Work - PowerPoint PPT Presentation

The Magic of ELFs Mark Zhandry Princeton University (Work done while at MIT) Prove this secure: Enc(m) = ( TDP(r), H(r) m ) (CPA security, many-bit messages, arbitrary


  1. The ¡Magic ¡of ¡ELFs Mark ¡Zhandry – Princeton ¡University (Work ¡done ¡while ¡at ¡MIT)

  2. Prove ¡this ¡secure: Enc(m) = ( TDP(r), H(r) ⊕ m ) (CPA ¡security, ¡many-­‑bit ¡messages, ¡arbitrary ¡TDP)

  3. Random ¡Oracles

  4. Random ¡Oracle ¡Model ¡ [BR’93] Model ¡ H as ¡random ¡oracle ¡ O O Enc O (m) = ( TDP(r), O(r) ⊕ m )

  5. Power ¡of ¡Random ¡Oracles • Great ¡extractors, ¡even ¡for ¡comp. ¡unpredictability O(x) pseudorandom ¡given ¡ OWF(x) • Hard ¡to ¡find ¡outputs ¡with ¡trapdoors (x,O(x)) with ¡trapdoor ¡ T for ¡ O(x) • Selective ¡to ¡adaptive ¡security ¡for ¡Sigs, ¡IBE Sign(m) ⇒ Sign( O( m ) )

  6. Limitations ¡of ¡Random ¡Oracles • Random ¡oracles ¡don’t ¡exist! • RO ¡“proof” ¡= ¡heuristic ¡security ¡argument • Heuristic ¡known ¡to ¡fail ¡in ¡some ¡cases ¡ [CGH’98,BBP’03,BFM’14]

  7. Standard-­‑model ¡defs

  8. Standard-­‑model ¡Security ¡Defs for ¡ H Standard ¡defs: ¡Assume ¡ H is ¡a ¡OWF, ¡PRG, ¡CRHF, ¡etc • Simple, ¡easy ¡to ¡state ¡definitions • Can ¡base ¡on ¡standard, ¡plausible ¡assumptions • Limited ¡usefulness ¡for ¡instantiating ¡RO’s

  9. Standard-­‑model ¡Security ¡Defs for ¡ H Standard ¡defs: ¡Assume ¡ H is ¡a ¡OWF, ¡PRG, ¡CRHF, ¡etc • Simple, ¡easy ¡to ¡state ¡definitions • Can ¡base ¡on ¡standard, ¡plausible ¡assumptions • Limited ¡usefulness ¡for ¡instantiating ¡RO’s Exotic ¡defs: ¡UCE’s ¡[BHK’15], ¡“strong” ¡OWF/PRG, ¡etc • Useful ¡for ¡some ¡RO ¡constructions • Usually ¡require ¡“tautological ¡assumptions”

  10. Assumption ¡Families Ex: ¡Strong ¡PRG ¡(strengthens ¡strong ¡OWF ¡of ¡[BP’11,Wee’05]) à (x, aux) • Parameterized ¡by ¡sampler ¡ S() à • Assume ¡ x is ¡“computationally ¡unpredictable” ¡given ¡ aux • Security ¡requirement: ¡ H(x) pseudorandom ¡given ¡ aux

  11. Assumption ¡Families Ex: ¡Strong ¡PRG ¡(strengthens ¡strong ¡OWF ¡of ¡[BP’11,Wee’05]) à (x, aux) • Parameterized ¡by ¡sampler ¡ S() à • Assume ¡ x is ¡“computationally ¡unpredictable” ¡given ¡ aux • Security ¡requirement: ¡ H(x) pseudorandom ¡given ¡ aux How ¡to ¡gain ¡confidence ¡in ¡assumption? • Attempt ¡cryptanalysis, ¡post ¡challenges, ¡etc. • Problem: ¡which ¡ S to ¡target? Similar ¡weaknesses ¡for ¡UCEs ¡and ¡other ¡exotic ¡assumptions

  12. Security ¡Properties ¡vs ¡Assumptions UCE’s, ¡strong ¡OWF/PRGs ¡are ¡useful ¡as ¡security ¡ properties However, ¡highly ¡undesirable ¡as ¡security ¡ assumptions Ideal ¡scenario: ¡ Single, ¡simple, ¡well-­‑studied ¡assumption Strong ¡security ¡properties

  13. This ¡Work: ¡ Extremely ¡Lossy Functions ¡ (ELFs)

  14. Standard ¡Lossy Functions ¡[PW’08] Injective ¡Mode Lossy Mode ≈ c Notes: • Lossy Mode ¡image ¡size ¡typically ¡exponential • Generally ¡also ¡include ¡trapdoor ¡in ¡injective ¡mode

  15. Extremely ¡Lossy Functions ¡(ELFs) Injective ¡Mode: Lossy Mode: ≈ c | Img | = polynomial

  16. Extremely ¡Lossy Functions ¡(ELFs) Injective ¡Mode: Lossy Mode: ≈ c | Img | = polynomial Problem: ¡ | Img | -­‑ time ¡attack • Query ¡on ¡ | Img |+1 points • Look ¡for ¡collision

  17. Extremely ¡Lossy Functions ¡(ELFs) Injective ¡Mode: Lossy Modes: …

  18. Extremely ¡Lossy Functions ¡(ELFs) Rough* ¡security statement: s.t. ∀ ∃ ? ? ? * ¡Must ¡also ¡consider ¡adversary’s ¡success ¡probability

  19. Constructing ¡ELFs

  20. Step ¡1: ¡Bounded-­‑adversary ¡ELFs Only ¡one = Security ¡against ¡a ¡priori ¡bounded ¡

  21. Step ¡1: ¡Bounded-­‑adversary ¡ELFs Use ¡standard ¡lossy functions ¡based ¡on ¡elliptic ¡curves [PW’08, ¡FGKRS’10] g A ・ x = (g A ) ・ x x ∈ Z p n Hand ¡out ¡ g A as ¡description ¡of ¡function Injective ¡mode: ¡ A random ¡full ¡rank ¡matrix Lossy mode: ¡ A random ¡rank-­‑ 1 matrix Lossy image ¡size ¡ p ⇒ Set ¡ p to ¡be ¡some ¡polynomial Thm [Adapt ¡FGKRS’10]: ¡ Exponential ¡DDH ¡assumption ¡ ¡ ⇒ modes ¡indistinguishable ¡to ¡ p c -­‑time ¡adversaries ¡ (0<c<1)

  22. Plausibility ¡of ¡Exponential ¡DDH Non-­‑standard ¡assumption • Not ¡truly ¡falsifiable ¡in ¡the ¡sense ¡of ¡[Naor’03] However, ¡still ¡very ¡“reasonable” • “Complexity ¡assumption” ¡[GK’15] • On ¡elliptic ¡curves, ¡best ¡known ¡attack: ¡ p ½ • “Generic ¡attack”, ¡essentially ¡no ¡non-­‑trivial ¡attacks ¡known • In ¡practice, ¡parameters ¡set ¡assuming ¡ p ½ is ¡optimal If ¡exponential ¡DDH ¡is ¡false, ¡ much ¡more ¡to ¡worry ¡about

  23. Step ¡2: ¡Bounded ¡to ¡Unbounded Iterate ¡at ¡many ¡security ¡levels … x i th lossy mode ¡image ¡size ¡at ¡most ¡ 2 i , ¡ security ¡against ¡ (2 i ) c -­‑time ¡adversaries

  24. Step ¡2: ¡Bounded ¡to ¡Unbounded Iterate ¡at ¡many ¡security ¡levels … x i th lossy mode ¡image ¡size ¡at ¡most ¡ 2 i , ¡ security ¡against ¡ (2 i ) c -­‑time ¡adversaries Given ¡ t -­‑time ¡ ¡ ¡ ¡ ¡ ¡ ¡, ¡invoke ¡lossiness at ¡ i such ¡that ¡ t < 2 ic ≤ 2t ⇒ Image ¡size ¡at ¡most ¡ (2t) 1/c

  25. Step ¡2: ¡Bounded ¡to ¡Unbounded Iterate ¡at ¡many ¡security ¡levels … x i th lossy mode ¡image ¡size ¡at ¡most ¡ 2 i , ¡ security ¡against ¡ (2 i ) c -­‑time ¡adversaries Given ¡ t -­‑time ¡ ¡ ¡ ¡ ¡ ¡ ¡, ¡invoke ¡lossiness at ¡ i such ¡that ¡ t < 2 ic ≤ 2t ⇒ Image ¡size ¡at ¡most ¡ (2t) 1/c Problem: ¡output ¡size ¡grows ¡too ¡fast!

  26. Step ¡2: ¡Bounded ¡to ¡Unbounded Keep ¡output ¡small ¡by ¡pairwise-­‑independent ¡hashing … x = ¡Pairwise ¡independent ¡function

  27. Using ¡ELFs

  28. A ¡Strong ¡PRG 0 H(x) (R 1 ・ ) (R 2 ・ ) (R 3 ・ ) (R 4 ・ ) x

  29. Security ¡Proof ¡Sketch 0 y (R 1 ・ ) (R 2 ・ ) (R 3 ・ ) (R 4 ・ ) ß S() x, aux ß Guarantee: ¡ x computationally ¡unpredictable, ¡given ¡ aux

  30. Step ¡1: ¡Invoke ¡ELF ¡Magic 0 y (R 1 ・ ) (R 2 ・ ) (R 3 ・ ) (R 4 ・ ) ß S() x, aux ß

  31. Step ¡1: ¡Invoke ¡ELF ¡Magic 0 y (R 1 ・ ) (R 2 ・ ) (R 3 ・ ) (R 4 ・ ) ß S() x, aux ß

  32. Step ¡2: ¡Invoke ¡Goldreich-­‑Levin 0 y (R 1 ・ ) (R 2 ・ ) (R 3 ・ ) (R 4 ・ ) ß S() x, aux ß

  33. Step ¡2: ¡Invoke ¡Goldreich-­‑Levin 0 y (R 1 ・ ) (R 2 ・ ) (R 3 ・ ) (R 4 ・ ) ß S() x, aux ß

  34. Step ¡2: ¡Invoke ¡Goldreich-­‑Levin L y (R 4 ・ ) ß S() x, aux ß

  35. Step ¡2: ¡Invoke ¡Goldreich-­‑Levin L Poly ¡image ¡ y size! (R 4 ・ ) Lemma: ¡ x still ¡ unpredictable, ¡ given ¡ aux, L(x) ß S() x, aux ß

  36. Step ¡2: ¡Invoke ¡Goldreich-­‑Levin L Poly ¡image ¡ y size! GL (R 4 ・ ) Lemma: ¡ x still ¡ unpredictable, ¡ given ¡ aux, L(x) ß S() x, aux ß

  37. Step ¡2: ¡Invoke ¡Goldreich-­‑Levin L Poly ¡image ¡ y size! b 4 ß ß {0,1} Lemma: ¡ x still ¡ unpredictable, ¡ given ¡ aux, L(x) ß S() x, aux ß

  38. Step ¡2: ¡Invoke ¡Goldreich-­‑Levin 0 y b 4 ß ß {0,1} (R 1 ・ ) (R 2 ・ ) (R 3 ・ ) ß S() x, aux ß

  39. Step ¡3: ¡Undo ¡ELF ¡Magic 0 y b 4 ß ß {0,1} (R 1 ・ ) (R 2 ・ ) (R 3 ・ ) ß S() x, aux ß

  40. Step ¡3: ¡Undo ¡ELF ¡Magic 0 y b 4 ß ß {0,1} (R 1 ・ ) (R 2 ・ ) (R 3 ・ ) ß S() x, aux ß

  41. Step ¡4: ¡Repeat 0 y b 4 ß ß {0,1} (R 1 ・ ) (R 2 ・ ) (R 3 ・ ) ß S() x, aux ß

  42. Step ¡4: ¡Repeat 0 y b 4 ß ß {0,1} (R 1 ・ ) (R 2 ・ ) (R 3 ・ ) ß S() x, aux ß

  43. Step ¡4: ¡Repeat 0 y b 4 ß ß {0,1} (R 1 ・ ) (R 2 ・ ) (R 3 ・ ) ß S() x, aux ß

  44. Step ¡4: ¡Repeat 0 y b 4 ß ß {0,1} (R 1 ・ ) (R 2 ・ ) (R 3 ・ ) ß S() x, aux ß

  45. Step ¡4: ¡Repeat 0 y GL b 4 ß ß {0,1} (R 1 ・ ) (R 2 ・ ) (R 3 ・ ) ß S() x, aux ß

  46. Step ¡4: ¡Repeat 0 y b 3 ß ß {0,1} b 4 ß ß {0,1} (R 1 ・ ) (R 2 ・ ) ß S() x, aux ß

  47. Step ¡4: ¡Repeat 0 y b 3 ß ß {0,1} b 4 ß ß {0,1} (R 1 ・ ) (R 2 ・ ) ß S() x, aux ß

Recommend


More recommend