topology hiding computation for large diameter graphs
play

Topology-Hiding Computation for Large Diameter Graphs Adi Akavia - PowerPoint PPT Presentation

Topology-Hiding Computation for Large Diameter Graphs Adi Akavia Tal Moran The Academic College IDC Herzliya of Tel-Aviv Jaffa MPC [Yao 86 , GMW 87]: multiple parties can jointly compute a function of their private inputs, while


  1. This Work: Results Result 3: Topology hiding broadcast for 1) cycles and 2) small-diameter graphs Topology hiding broadcast for small-circumference graphs Extensions: We define: A distributed algorithm is “ info-local ” if output of each party depends only on k-local neighborhood We show: Our reductions hold for arbitrary graph with “ info-local ” algorithm for spanning-tree neighbors

  2. Remarks • Even with known overall topology , topology-hiding is still non-trivial – Example – Cycles: nodes order may be sensitive.

  3. Remarks • Even with known overall topology , topology-hiding is still non-trivial – Example – Cycles: nodes order may be sensitive. • Voting  parallel broadcast: – voting & mix-networks inspiration

  4. Tool: PKCR-encryption Public key encryption , which is: Given pk and c  [m] k 1. Rerandomizable: Can produce fresh ciphertext c’  [m] k . 2. Privately key-commutative:

  5. Tool: PKCR-encryption Public key encryption , which is: Given pk and c  [m] k 1. Rerandomizable: Can produce fresh ciphertext c’  [m] k . 2. Privately key-commutative: PKCR-enc exists under DDH assumption.

  6. Tool: PKCR-encryption Public key encryption , which is: Notation: Given pk and c  [m] k [m] k = Enc k (m) . 1. Rerandomizable: Can produce fresh ciphertext c’  [m] k . 2. Privately key-commutative: PKCR-enc exists under DDH assumption.

  7. Tool: PKCR-encryption Public key encryption , which is: Notation: Given pk and c  [m] k [m] k = Enc k (m) . 1. Rerandomizable: Can produce fresh ciphertext c’  [m] k . 2. Privately key-commutative: – Public keys are a group with efficiently computable k 1 *k 2 , k – 1 PKCR-enc exists under DDH assumption.

  8. Tool: PKCR-encryption Public key encryption , which is: Notation: Given pk and c  [m] k [m] k = Enc k (m) . 1. Rerandomizable: Can produce fresh ciphertext c’  [m] k . 2. Privately key-commutative: – Public keys are a group with efficiently computable k 1 *k 2 , k – 1 – Given secret key sk can efficiently: PKCR-enc exists under DDH assumption.

  9. Tool: PKCR-encryption Public key encryption , which is: Notation: Given pk and c  [m] k [m] k = Enc k (m) . 1. Rerandomizable: Can produce fresh ciphertext c’  [m] k . 2. Privately key-commutative: – Public keys are a group with efficiently computable k 1 *k 2 , k – 1 – Given secret key sk can efficiently: a) Computed corresponding public-key pk(sk) . b) PKCR-enc exists under DDH assumption.

  10. Tool: PKCR-encryption Public key encryption , which is: Notation: Given pk and c  [m] k [m] k = Enc k (m) . 1. Rerandomizable: Can produce fresh ciphertext c’  [m] k . 2. Privately key-commutative: – Public keys are a group with efficiently computable k 1 *k 2 , k – 1 – Given secret key sk can efficiently: a) Computed corresponding public-key pk(sk) . b) AddLayer( [m] k , sk ) = [m] k*pk(sk) PKCR-enc exists under DDH assumption.

  11. Tool: PKCR-encryption Public key encryption , which is: Notation: Given pk and c  [m] k [m] k = Enc k (m) . 1. Rerandomizable: Can produce fresh ciphertext c’  [m] k . 2. Privately key-commutative: – Public keys are a group with efficiently computable k 1 *k 2 , k – 1 – Given secret key sk can efficiently: a) Computed corresponding public-key pk(sk) . b) AddLayer( [m] k , sk ) = [m] k*pk(sk) c) DelLayer ( [m] k , sk ) = [m] k*pk(sk) -1 PKCR-enc exists under DDH assumption.

  12. 1 Our Techniques: 2 5 Topology-Hiding Voting on Cycles 4 3 Phase 1. Aggregate Encrypted Votes: Phase 2. Mix & Decrypt:

  13. Our Techniques: Topology-Hiding Voting on Cycles Protocol Phase 1. Aggregate Encrypted Votes: 1 2 5 4 3

  14. Our Techniques: Topology-Hiding Voting on Cycles Protocol Phase 1. Aggregate Encrypted Votes: v 1 1 2 5 4 3

  15. Our Techniques: Topology-Hiding Voting on Cycles Protocol Phase 1. Aggregate Encrypted Votes: k 1 , v 1 1 2 5 4 3

  16. Our Techniques: Topology-Hiding Voting on Cycles Protocol Phase 1. Aggregate Encrypted Votes: k 1 , [v 1 ] k1 1 2 5 4 3

  17. Our Techniques: Topology-Hiding Voting on Cycles Protocol Phase 1. Aggregate Encrypted Votes: 1 k 1 , [v 1 ] k1 2 5 4 3

  18. Our Techniques: Topology-Hiding Voting on Cycles Protocol Phase 1. Aggregate Encrypted Votes: 1 k 1 , [v 1 ] k1 *k 2 2 5 4 3

  19. Our Techniques: Topology-Hiding Voting on Cycles Protocol Phase 1. Aggregate Encrypted Votes: 1 k 1 *k 2 , [v 1 ] k1*k2 2 5 4 3

  20. Our Techniques: Topology-Hiding Voting on Cycles Protocol Phase 1. Aggregate Encrypted Votes: 1 k 1 *k 2 , [v 1 ] k1*k2 [v 2 ] k1*k2 2 5 4 3

  21. Our Techniques: Topology-Hiding Voting on Cycles Protocol Phase 1. Aggregate Encrypted Votes: 1 2 5 k 1 *k 2 , [v 1 ] k1*k2 [v 2 ] k1*k2 4 3

  22. Our Techniques: Topology-Hiding Voting on Cycles Protocol Phase 1. Aggregate Encrypted Votes: 1 2 5 k=k 1 *k 2 *k 3 , [v 1 ] k [v 2 ] k [v 3 ] k 4 3

  23. Our Techniques: Topology-Hiding Voting on Cycles Protocol Phase 1. Aggregate Encrypted Votes: 1 k=k 1 *…*k 4 *k 5 , [v 1 ] k … [ v 5 ] k 2 5 … 4 3

  24. Our Techniques: Topology-Hiding Voting on Cycles Protocol Phase 1. Aggregate Encrypted Votes: 1 k=k 1 *…*k 4 *k 5 , [v 1 ] k … [ v 5 ] k 2 5 4 3

  25. Our Techniques: Topology-Hiding Voting on Cycles Protocol Phase 2. Mix & Decrypt: 1 k=k 1 *…*k 4 *k 5 , [v 1 ] k … [v 5 ] k 2 5 4 3

  26. Our Techniques: Topology-Hiding Voting on Cycles Protocol Phase 2. Mix & Decrypt: 1 k=k 1 *…*k 4 *k 5 , [v 1 ] k … [v 5 ] k [v  (1) ] k … [v  (5) ] k 2 5 4 3

  27. Our Techniques: Topology-Hiding Voting on Cycles Protocol Phase 2. Mix & Decrypt: 1 k’ =k 1 *…*k 4 , [v  (1) ] k’ … [ v  (5) ] k’ 2 5 4 3

  28. Our Techniques: Topology-Hiding Voting on Cycles Protocol Phase 2. Mix & Decrypt: 1 2 5 k’ =k 1 *…*k 4 , [v  (1) ] k’ … [ v  (5) ] k’ 4 3

  29. Our Techniques: Topology-Hiding Voting on Cycles Protocol Phase 2. Mix & Decrypt: 1 2 5 … k‘ =k 1 *…*k 4 , [v  (1) ] k’ … [ v  (5) ] k’ 4 3

  30. Our Techniques: Topology-Hiding Voting on Cycles Protocol Phase 2. Mix & Decrypt: 1 k 1 , [v  ’ (1) ] k1 … [ v  ’ (5) ] k1 2 5 … k‘ =k 1 *…*k 4 , [v  (1) ] k’ … [ v  (5) ] k’ 4 3

  31. Our Techniques: Topology-Hiding Voting on Cycles Protocol Phase 2. Mix & Decrypt: 1 k 1 , [v  ’ (1) ] k1 … [ v  ’ (5) ] k1 2 5 4 3

  32. Our Techniques: Topology-Hiding Voting on Cycles Protocol Phase 2. Mix & Decrypt: k 1 , [v  ’ (1) ] k1 … [ v  ’ (5) ] k1 1 2 5 4 3

  33. Our Techniques: Topology-Hiding Voting on Cycles Protocol Phase 2. Mix & Decrypt: v  ’’ (1) … v  ’’ (5) 1 2 5 4 3

  34. Our Techniques: Reductions Toy Problem:

  35. Our Techniques: Reductions 1 2 Toy Problem: 5 Settings: Arbitrary graph, 4 3

  36. Our Techniques: Reductions 1 2 Toy Problem: 5 Settings: Arbitrary graph, with cycle traversing the nodes. 4 3

  37. Our Techniques: Reductions 1 2 Toy Problem: 5 Settings: Arbitrary graph, with cycle traversing the nodes. 4 3 4 Nodes know their local-view on cycle.

  38. Our Techniques: Reductions 1 2 Toy Problem: 5 Settings: Arbitrary graph, with cycle traversing the nodes. 4 3 4 Nodes know their local-view on cycle. Observe: Topology-hiding voting on cycle -traversal Topology-hiding voting on underlying graph .

  39. Our Techniques: Reductions 1 2 Toy Problem: 5 Settings: Arbitrary graph, with cycle traversing the nodes. 4 3 4 Nodes know their local-view on cycle. Observe: Topology-hiding voting on cycle -traversal Topology-hiding voting on underlying graph . Reductions Outline (simplified) : 1. Find cycle-traversal (local views) while hiding topology 2. Run topology-hiding voting on this cycle -traversal

  40. Finding Cycle-Traversal Questions: Does a cycle-traversal always exist?

  41. Finding Cycle-Traversal Questions: Does a cycle-traversal always exist? Can it be found efficiently?

  42. Finding Cycle-Traversal Questions: Does a cycle-traversal always exist? Can it be found efficiently? Can it be found topology-hiding?

  43. Finding Cycle-Traversal Questions: Yes, in every Does a cycle-traversal always exist? (connected) graph. Can it be found efficiently? Can it be found topology-hiding?

  44. Finding Cycle-Traversal Questions: Yes, in every Does a cycle-traversal always exist? (connected) graph. Yes, in every Can it be found efficiently? (connected) graph. Can it be found topology-hiding?

  45. Finding Cycle-Traversal Questions: Yes, in every Does a cycle-traversal always exist? (connected) graph. Yes, in every Can it be found efficiently? (connected) graph. Yes, in trees . Can it be found topology-hiding?

  46. Finding Cycle-Traversal Questions: Yes, in every Does a cycle-traversal always exist? (connected) graph. Yes, in every Can it be found efficiently? (connected) graph. Yes, in trees . Can it be found topology-hiding? Roughly , in small-circ .

  47. Finding Cycle-Traversal in Trees Convert-to-Cycle ( N(v)=(u 1 ,…, u d )) Forward messages arriving from u i to u i+1

  48. Finding Cycle-Traversal in Trees Convert-to-Cycle ( N(v)=(u 1 ,…, u d )) Forward messages arriving from u i to u i+1 a g b d e f c h

  49. Finding Cycle-Traversal in Trees Convert-to-Cycle ( N(v)=(u 1 ,…, u d )) Forward messages arriving from u i to u i+1 a g b 1 2 4 d e f 3 c h

  50. Finding Cycle-Traversal in Trees Convert-to-Cycle ( N(v)=(u 1 ,…, u d )) Forward messages arriving from u i to u i+1 a g b 1 2 4 d e f 3 c h

  51. Finding Cycle-Traversal in Trees Convert-to-Cycle ( N(v)=(u 1 ,…, u d )) Forward messages arriving from u i to u i+1 a g b 1 2 4 d e f 3 c h

  52. Finding Cycle-Traversal in Trees Convert-to-Cycle ( N(v)=(u 1 ,…, u d )) Forward messages arriving from u i to u i+1 a g b 1 2 4 d e f 3 c h

  53. Finding Cycle-Traversal in Trees Convert-to-Cycle ( N(v)=(u 1 ,…, u d )) Forward messages arriving from u i to u i+1 a g b 1 2 4 d e f 3 c h

Recommend


More recommend