21
16

Distributed Algorithms Made Secure: A Graph Theoretic Approach

Abstract

In the area of distributed graph algorithms a number of network's entities with local views solve some computational task by exchanging messages with their neighbors. Quite unfortunately, an inherent property of most existing distributed algorithms is that throughout the course of their execution, the nodes get to learn not only their own output but rather learn quite a lot on the inputs or outputs of many other entities. This leakage of information might be a major obstacle in settings where the output (or input) of network's individual is a private information. In this paper, we introduce a new framework for \emph{secure distributed graph algorithms} and provide the first \emph{general compiler} that takes any "natural" non-secure distributed algorithm that runs in rr rounds, and turns it into a secure algorithm that runs in O~(rDpoly(Δ))\widetilde{O}(r \cdot D \cdot poly(\Delta)) rounds where Δ\Delta is the maximum degree in the graph and DD is its diameter. The security of the compiled algorithm is information-theoretic but holds only against a semi-honest adversary that controls a single node in the network. This compiler is made possible due to a new combinatorial structure called \emph{private neighborhood trees}: a collection of nn trees T(u1),,T(un)T(u_1),\ldots,T(u_n), one for each vertex uiV(G)u_i \in V(G), such that each tree T(ui)T(u_i) spans the neighbors of uiu_i {\em without going through uiu_i}. Intuitively, each tree T(ui)T(u_i) allows all neighbors of uiu_i to exchange a \emph{secret} that is hidden from uiu_i, which is the basic graph infrastructure of the compiler. In a (d,c)(d,c)-private neighborhood trees each tree T(ui)T(u_i) has depth at most dd and each edge eGe \in G appears in at most cc different trees. We show a construction of private neighborhood trees with d=O~(ΔD)d=\widetilde{O}(\Delta \cdot D) and c=O~(D)c=\widetilde{O}(D).

View on arXiv
Comments on this paper