Title: 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 $r$ rounds, and turns it into a secure algorithm that
runs in $\widetilde{O}(r \cdot D \cdot poly(\Delta))$ rounds where $\Delta$ is
the maximum degree in the graph and $D$ 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 $n$ trees
$T(u_1),\ldots,T(u_n)$, one for each vertex $u_i \in V(G)$, such that each tree
$T(u_i)$ spans the neighbors of $u_i$ {\em without going through $u_i$}.
Intuitively, each tree $T(u_i)$ allows all neighbors of $u_i$ to exchange a
\emph{secret} that is hidden from $u_i$, which is the basic graph
infrastructure of the compiler. In a $(d,c)$-private neighborhood trees each
tree $T(u_i)$ has depth at most $d$ and each edge $e \in G$ appears in at most
$c$ different trees. We show a construction of private neighborhood trees with
$d=\widetilde{O}(\Delta \cdot D)$ and $c=\widetilde{O}(D)$.