Private Function Computation

In this paper, we study the problem of private function computation, where a user wants to compute a function of some inputs, using N ∈ N servers, where the function is a private combination/composition of some K ∈ N public basic functions {f <sub xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">1</sub> , f <sub xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">2</sub> , ... , f <sub xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">K</sub> }. More precisely, for some inputs W <sub xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">m</sub> , m ∈ [1 : M], the user's goal is to calculate h(W <sub xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">m</sub> ) = Σj=1J α <sub xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">j</sub> h <sub xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">j</sub> (W <sub xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">m</sub> ), for some J ∈ N, some scalers α <sub xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">j</sub> , j ∈ [1 : J], and some functions h <sub xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">j</sub> (.), j ∈ [1 : J], where each is an arbitrary compositions of the basic functions {f <sub xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">1</sub> , f <sub xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">2</sub> , ... , f <sub xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">K</sub> }. The computation is done through a sequence of queries to N servers. In each query, the user sends an input W, which is a (possibly randomized) function of W <sub xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">1</sub> :M and the answers to the previous queries, to one of the servers, and asks the server to return f <sub xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">k</sub> (W), for some k ∈ [1 : K]. The servers should not obtain any information about the structure of the function h(.), i.e., the way the basic functions are combined to form h(.), from the sequence of queries they received, even if T of them collude, for some T ∈ N. In this paper, we focus on the cases, where basic functions are linear and can be represented by (possibly large-scale) full-rank matrices, and each basic function may contribute in function h(.) for at most once. We prove that C, defined as the supremum of the number of desired computations of the basic functions, normalized by the number of queries, in asymptotic regimes of large M, satisfies the following inequality: min{(1-T/N)/(1-1/K), (1- T-1/N)}≤C≤1. The key idea is that in the proposed scheme, each server is asked to compute a specific order of basic functions, independent from the user's desired function. In addition, some random vectors are added to the inputs of the queries such that the sequence of the queries does not leak any information.