Doubly-efficient PIR
Double efficient PIR is a type of single-server PIR that allows the database to be preprocessed before the client queries the data. A PIR is considered a DEPIR if both the communication and computation at query time is , where is the size of the database. The three main variants of DEPIR are: secret-key, public-key, and unkeyed. Note that any unkeyed DEPIR is trivially a PK-DEPIR which is trivially an SK-DEPIR. The latter keyed variants of DEPIR were introduced by BIPW17.
Syntax
A (one-round) doubly-efficient private information retrieval (DEPIR) scheme is a tuple of efficient algorithms with respect to a key space such that
- , is a randomized algorithm that takes a security parameter and database , and outputs an encoded database and (optionally, see variations) a key ,
- , is a randomized algorithm that takes (optionally) a key and index , and outputs and a hint ,
- , is a randomized algorithm that takes a query and database , and outputs a response ,
- , is a randomized algorithm that takes a hint and response , and outputs an answer .
Properties
Correctness
A DEPIR scheme is correct if for every , database , and index ,
Unkeyed DEPIR
By default DEPIR scheme outputs no key i.e. with probability . The security of this scheme is the same as either game below, which are equivalent when is set to .
Public-key DEPIR
The privacy advantage of an adversary that outputs database and indices and is defined as where , , and . A PK-DEPIR scheme is private if for all efficient , is negligible. Because uses only the public , single-query privacy implies privacy for polynomially many queries by a hybrid argument — folklore.
Secret-key DEPIR
In secret-key DEPIR, is not given and makes polynomially many adaptive left-or-right queries, all answered under the same with no key update — BIPW17, LMW25. A single-query notion is met from one-way functions alone by storing for a secret PRP and PRF and sending ; this scheme fails the many-query notion, since repeated queries to one index repeat — folklore.
\begin{algorithm}
\algname{Game}
\caption{$\Game^{\mathrm{sk\text{-}priv}}_{\calA}(\secpar)$}
\begin{algorithmic}
\State $(DB, \stA) \gets \calA(1^\secpar)$
\State $(EDB, k) \gets \Setup(1^\secpar, DB)$; $b \getsr \bits$
\State $b' \gets \calA^{\calO_b}(EDB, \stA)$
\Comment{Polynomially many adaptive queries, all under the same $k$}
\Return $[b' = b]$
\end{algorithmic}
\end{algorithm}
\begin{algorithm}
\algname{Oracle}
\caption{$\calO_b(i_0, i_1)$}
\begin{algorithmic}
\State $(q, h) \gets \mathsf{Qry}(k, i_b)$
\Return $q$
\end{algorithmic}
\end{algorithm}
An SK-DEPIR scheme is secret-key private if for all efficient ,
is negligible.
Variations
Multi-server DEPIR
TODO
Other results
- Ring-LWE ⇒ Unkeyed DEPIR — LMW23
- Many cryptographic primitives cannot be used to construct SK-DEPIR in a black-box way, unless OWF can be used to construct SK-DEPIR in a black-box way — LMW25
- Permuted puzzles ⇒ SK-DEPIR
Participates in
Builds on Doubly-efficient PIR
- Unkeyed DEPIR ⇒ cPIR (via Unkeyed DEPIR)
- PK-DEPIR ⇒ SK-DEPIR (via Public-key DEPIR)
- Unkeyed DEPIR ⇒ PK-DEPIR (via Unkeyed DEPIR)
Produces Doubly-efficient PIR