Private Graph Algorithms in the Semi-Honest Model

Slides:



Advertisements
Similar presentations
Polylogarithmic Private Approximations and Efficient Matching
Advertisements

Efficient Private Approximation Protocols Piotr Indyk David Woodruff Work in progress.
Revisiting the efficiency of malicious two party computation David Woodruff MIT.
Quid-Pro-Quo-tocols Strengthening Semi-Honest Protocols with Dual Execution Yan Huang 1, Jonathan Katz 2, David Evans 1 1. University of Virginia 2. University.
Algorithms (and Datastructures) Lecture 3 MAS 714 part 2 Hartmut Klauck.
Limitation of Computation Power – P, NP, and NP-complete
Foundations of Cryptography Lecture 10 Lecturer: Moni Naor.
Design and Analysis of Algorithms Approximation algorithms for NP-complete problems Haidong Xue Summer 2012, at GSU.
Lecture 24 Coping with NPC and Unsolvable problems. When a problem is unsolvable, that's generally very bad news: it means there is no general algorithm.
The Greedy Approach Chapter 8. The Greedy Approach It’s a design technique for solving optimization problems Based on finding optimal local solutions.
CS555Topic 241 Cryptography CS 555 Topic 24: Secure Function Evaluation.
Introduction to Modern Cryptography, Lecture 12 Secure Multi-Party Computation.
Improving the Round Complexity of VSS in Point-to-Point Networks Jonathan Katz (University of Maryland) Chiu-Yuen Koo (Google Labs) Ranjit Kumaresan (University.
Computability and Complexity 23-1 Computability and Complexity Andrei Bulatov Search and Optimization.
1 Discrete Structures & Algorithms Graphs and Trees: II EECE 320.
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 21 Instructor: Paul Beame.
1 Vertex Cover Problem Given a graph G=(V, E), find V' ⊆ V such that for each edge (u, v) ∈ E at least one of u and v belongs to V’ and |V’| is minimized.
1 Introduction to Secure Computation Benny Pinkas HP Labs, Princeton.
Tirgul 13. Unweighted Graphs Wishful Thinking – you decide to go to work on your sun-tan in ‘ Hatzuk ’ beach in Tel-Aviv. Therefore, you take your swimming.
3/29/05Tucker, Sec Applied Combinatorics, 4th Ed. Alan Tucker Section 4.2 Minimal Spanning Trees Prepared by Amanda Dargie and Michele Fretta.
More Graph Algorithms Weiss ch Exercise: MST idea from yesterday Alternative minimum spanning tree algorithm idea Idea: Look at smallest edge not.
Approximation Algorithms Motivation and Definitions TSP Vertex Cover Scheduling.
Chapter 4 Graphs.
The Travelling Salesman Algorithm A Salesman has to visit lots of different stores and return to the starting base On a graph this means visiting every.
Dijkstra's algorithm.
How to play ANY mental game
Algorithmic Foundations COMP108 COMP108 Algorithmic Foundations Greedy methods Prudence Wong
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
SPANNING TREES Lecture 21 CS2110 – Spring
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
Which of these can be drawn without taking your pencil off the paper and without going over the same line twice? If we can find a path that goes over all.
6.1 Hamilton Circuits and Paths: Hamilton Circuits and Paths: Hamilton Path: Travels to each vertex once and only once… Hamilton Path: Travels to each.
Privacy Preserving Data Mining Yehuda Lindell Benny Pinkas Presenter: Justin Brickell.
Minimum spanning trees (MST) Def: A spanning tree of a graph G is an acyclic subset of edges of G connecting all vertices in G. A sub-forest of G is an.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
Zero-knowledge proof protocols 1 CHAPTER 12: Zero-knowledge proof protocols One of the most important, and at the same time very counterintuitive, primitives.
NP-COMPLETE PROBLEMS. Admin  Two more assignments…  No office hours on tomorrow.
NP-Complete problems.
Graphs A ‘Graph’ is a diagram that shows how things are connected together. It makes no attempt to draw actual paths or routes and scale is generally inconsequential.
Pipelining and Retiming
Limits to Computation How do you analyze a new algorithm? –Put it in the form of existing algorithms that you know the analysis. –For example, given 2.
CIRCUITS, PATHS, AND SCHEDULES Euler and Königsberg.
4.7 Triangle Inequalities. In any triangle…  The LARGEST SIDE lies opposite the LARGEST ANGLE.  The SMALLEST SIDE lies opposite the SMALLEST ANGLE.
CSCI 2670 Introduction to Theory of Computing November 17, 2005.
Introduction to Algorithms All-Pairs Shortest Paths My T. UF.
Lecture 38 CSE 331 Dec 5, OHs today (only online 9:30-11)
4.7 Triangle Inequalities
Limitation of Computation Power – P, NP, and NP-complete
Topic 36: Zero-Knowledge Proofs
COMP108 Algorithmic Foundations Greedy methods
MPC and Verifiable Computation on Committed Data
Circuit Lower Bounds A combinatorial approach to P vs NP
Lecture 22 Complexity and Reductions
The first Few Slides stolen from Boaz Barak
Lecture 23 CSE 331 Oct 26, 2016.
Course Business I am traveling April 25-May 3rd
Cryptography CS 555 Lecture 22
Shortest Path Problems
CS330 Discussion 6.
Approximation algorithms
CSE 373: Data Structures and Algorithms
Lecture 23 CSE 331 Oct 25, 2017.
Shortest Path Problems
1. for (i=0; i < n; i+=2) if (A[i] > A[i+1]) swap(A[i], A[i+1])
Shortest Path Algorithms
Problem Solving 4.
Route Inspection Which of these can be drawn without taking your pencil off the paper and without going over the same line twice? If we introduce a vertex.
Lecture 26 CSE 331 Nov 1, 2010.
CSE 417: Algorithms and Computational Complexity
Shortest Route Problems
Presentation transcript:

Private Graph Algorithms in the Semi-Honest Model Justin Brickell November 24, 2004

Two Party Graph Algorithms Parties P1 and P2 own graphs G1 and G2 f is a two-input graph algorithm Compute f(G1,G2) without revealing “unnecessary information”

Unnecessary Information Intuitively, the protocol should function as if a trusted third party computed the output We use simulation to prove that a protocol is private

The Semi-Honest Model A malicious adversary can alter his input A semi-honest adversary adheres to protocol tries to learn extra information from the message transcript

General Secure Two Party Computation Any polynomial sized functionality can be made private (in the semi-honest model) Yao’s Method What are our goals? Yao’s Method is inefficient Efficient, private protocols to compute particular graph functionalities Take advantage of information “leaked” by the result

Two-Input Graph Algorithms? Graph Isomorphism Comparison of graph statistics f(G1) > f(G2) ? max flow,diameter,average degree Synthesized Graphs f(G1 • G2)

Graph Synthesis G1 and G2 are weighted complete graphs on the same vertex and edge set G1 = (V,E,w1); G2 = (V,E,w2) gmax(G1,G2) = (V,E,wmax) wmax(e) = max(w1(e),w2(e)) gmin(G1,G2) = (V,E,wmin) wmin(e) = min(w1(e),w2(e))

Graph Synthesis 1  2 1  2 4 7 G1 5 6 8 gmax(G1,G2) 8 2 5 4 3 4 3 7 7 gmin(G1,G2) 6 5 2 4 3 4 3 5 5

Graph Isomorphism Unlikely to find a private protocol No known poly-time algorithm

Comparison of Graph Statistics Compute statistic on own graph Semi-honest participants can’t lie Use a private comparison protocol Yao’s Millionaire Protocol Yao’s method (circuit protocol)

Synthesized Graphs This is the interesting case All Pairs Shortest Distance and Single Source Shortest Distance both “leak” significant useful information Solved: APSD(gmin),SSSD(gmin) Solved with leaks: APSD(gmax),SSSD(gmax)

APSD(gmin(G1,G2)) Basic Idea: Add edges to the solution graph in order of smallest to largest Private, because we can recover the order from the final solution graph

Run APSD on G1 and G2 7 1  2 1 2 4 4 G1 5 5 8 G1’ 8 2 2 4 3 4 3 7 6 2 1 2 2 1 2 7 7 6 6 G2 6 G2’ 6 5 5 4 3 4 3 5 5

Initialize G0’ 7 2  1 2 1 2 1 2 4 7  5 6  8 6 2 5   4 3 4 3 4 3 6 5  G1’ G2’ G0’

Find shortest blue edge lengths 7 2  1 2 1 2 1 2 4 7  5 6  8 6 2 5   4 3 4 3 4 3 6 5  G1’ G2’ G0’ min1 = 2 min2 = 2 min0 = 

Privately find global shortest length 7 2  1 2 1 2 1 2 4 7  5 6  8 6 2 5   4 3 4 3 4 3 6 5  G1’ G2’ G0’ min1 = 2 min2 = 2 min0 =  bluemin = min(min0,min1,min2) =2

Find edges of length bluemin 7 2  1 2 1 2 1 2 4 7  5 6  8 6 2 5   4 3 4 3 4 3 6 5  G1’ G2’ G0’ S1 = {e23} S2 = {e12} S0 = {} bluemin = min(min0,min1,min2) =2

Privately find all edges of length bluemin 7 2  1 2 1 2 1 2 4 7  5 6  8 6 2 5   4 3 4 3 4 3 6 5  G1’ G2’ G0’ S1 = {e23} S2 = {e12} S0 = {} S = S1  S2  S3 = {e12,e23}

Update S edges in G0’ 7 2 2 1 2 1 2 1 2 4 7  5 6  8 6 2 5  2 4 3 4 3 4 3 6 5  G1’ G2’ G0’ S1 = {e23} S2 = {e12} S0 = {} S = S1  S2  S3 = {e12,e23}

Run APSD on G0’ 7 2 2 1 2 1 2 1 2 4 7  5 6 4 8 6 2 5  2 4 3 4 3 4 3 6 5  G1’ G2’ G0’

Repeat! 7 2 2 1 2 1 2 1 2 4 7  5 6 4 8 6 2 5  2 4 3 4 3 4 3 6 5  G1’ G2’ G0’ bluemin = min(min0,min1,min2) =4 S = S1  S2  S3 = {e13,e24}

… 7 2 2 1 2 1 2 1 2 4 7 4 5 6 4 8 6 6 2 5 2 4 3 4 3 4 3 6 5 6 G1’ G2’ G0’ bluemin = min(min0,min1,min2) =5 S = S1  S2  S3 = {e34}

… 7 2 2 1 2 1 2 1 2 4 7 4 5 6 4 8 6 6 2 5 2 4 3 4 3 4 3 6 5 5 G1’ G2’ G0’ bluemin = min(min0,min1,min2) =6 S = S1  S2  S3 = {e14}

… until all edges are red 7 2 2 1 2 1 2 1 2 4 7 4 5 6 4 8 6 6 2 5 2 4 3 4 3 4 3 6 5 5 G1’ G2’ G0’

The solution is correct! 2 2 1 2 1 2 4 4 5 4 6 6 2 2 4 3 4 3 5 5 gmin(G1,G2) G0’

Other Results A similar protocol for SSSD(gmin) This isn’t free! Protocol for special case of APSD(gmax) and SSSD(gmax) Input graphs obey triangle inequality “Leaky” protocol for APSD(gmax) and SSSD(gmax) in the general case

Final Thought Other graph algorithms don’t leak enough information Questions?