Distributed Point Functions

A distributed point function (DPF) allows one to split the description of a point function (which outputs on input and everywhere else) into two succinct keys such that and individually reveal nothing about or , but any party holding one key can evaluate the function’s share at any point. Introduced by Gilboa and Ishai — GI14.

Syntax

A distributed point function for domain and range is a tuple of efficient algorithms :

  • is a randomized key generation algorithm that takes a special point and output value , and outputs two evaluation keys ,
  • is a deterministic algorithm for that evaluates the -th share of the point function at input .

The keys are succinct: there is a polynomial such that — GI14, BGI15. Without this bound, sharing the truth table is a DPF for every polynomial-size domain: , and are correct, perfectly hiding and efficient — standard.

Properties

Correctness

For all , , , and , the shares sum to the point function: where if and otherwise.

Hiding (Security)

For , key reveals nothing about beyond and :

\begin{algorithm}
\algname{Game}
\caption{$\Game^{\mathrm{hide}}_{\mathsf{DPF},\calA,b}(\secpar)$}
\begin{algorithmic}
\State $(\alpha_0, \beta_0, \alpha_1, \beta_1, \stA) \gets \calA(1^\secpar)$; $c \getsr \bits$
\State $(k_0, k_1) \gets \Gen(1^\secpar, \alpha_c, \beta_c)$
\State $c' \gets \calA(k_b, \stA)$
\Return $[c' = c]$
\end{algorithmic}
\end{algorithm}

A DPF is hiding if for all and all efficient ,

is negligible — GI14, BGI15.

Variations

Function secret sharing (FSS)

DPFs are a special case of function secret sharing (FSS), introduced by Boyle, Gilboa, and Ishai — BGI15, BGI16. FSS generalizes DPFs to a function class whose members are given by descriptions : runs in time and outputs shares of , such that each key evaluates the function’s additive share, and each key hides individually. As for DPFs, the keys are succinct: for a polynomial , the keys for have length at most — BGI15. Here contains every point function , described by , so . Without this requirement FSS holds with no assumption and need not give a DPF: FSS for is trivial, and for all functions described by their truth tables, additive shares of the table are correct, perfectly hiding and of length — standard.

Multi-point functions

Distributes a function that is non-zero on multiple points. Can be built by composing multiple DPFs.

Other results

Participates in

Builds on Distributed Point Functions

Produces Distributed Point Functions