Private Information Retrieval
(Single-server) PIR is the principal variant of PIR that is studied in the literature, introduced by KO97. It is deployed in a setting where a server holds a database (represented as an array) and a client is interested in learning one of the database items. A PIR protocol allows the client to learn the entry without revealing which entry the client is interested in.
The protocol where the client downloads the entire database is known as the trivial PIR.
Syntax
A PIR scheme is a tuple of efficient algorithms with respect to database size , modeled as a bit-string :
- is a randomized algorithm that generates public parameters encoding the database size
- is a randomized algorithm that takes an index , outputting a query to send to the server and a client state
- is a deterministic algorithm that takes a database and query , outputting an answer
- is a deterministic algorithm that takes client state and answer , outputting a value
While PIR is typically represented with data-elements as single bits, most constructions support words from There is also a generic transformation between the two. In particular, one can treat any -width word database as a bit-string and just query for the consecutive bits the client is interested in.
In general, PIR may be any arbitrary-round two-party protocol. However, most practical schemes to-date require only a single round of interaction, so it is more standard to present the protocol in the 1-round notation with explicit functions.
Properties
Correctness
A PIR is -correct if for all and ,
where and .
Query Privacy
The server’s view — the query — should reveal nothing about the queried index . The following game captures this: the adversary picks two indices, a challenge bit selects one, and the adversary sees only the resulting query.
\begin{algorithm}
\algname{Game}
\caption{$\Game^{\mathrm{priv}}_{\PIR,\calA}(\secpar)$}
\begin{algorithmic}
\State $\pp \gets \Setup(1^\secpar, 1^n)$
\State $(i_0, i_1, \stA) \gets \calA(\pp)$
\State $b \getsr \bits$
\State $(q, \st) \gets \Query(\pp, i_b)$
\State $b' \gets \calA(q, \stA)$
\Return $[b' = b]$
\end{algorithmic}
\end{algorithm}
A PIR has query privacy if for all efficient ,
is negligible. Here is stateful: it runs in two phases, first choosing the challenge indices, then guessing the bit after seeing the query.
Variations
- Multi-server PIR is an information-theoretic variant, which requires multiple servers
- Symmetric private information retrieval (Single-server) ⇒ cPIR
- Secret-Key PIR (SK-PIR) achieves sublinear online communication using client preprocessing with a secret key
- Keyword PIR
Non-trivial PIR
A PIR scheme is non-trivial if it is perfectly correct () and, for some polynomial , on every -bit database the server sends fewer than bits in total. The bound is where assumptions start: the trivial PIR, which downloads the database, is perfectly correct and perfectly private with no assumption — BIKM99.
PIR with total communication below
A PIR scheme has total communication below if it is perfectly correct and, for some polynomial , on every -bit database the client and the server together send fewer than bits, the notion of non-triviality of DMO00. Such a scheme is non-trivial in the sense above.
One-round sublinear PIR
A PIR scheme is one-round sublinear if it is perfectly correct, consists of the query and the answer alone, as in the syntax above, and has communication for a polynomial and a constant — IKO05.
Symmetric private information retrieval (Single-server)
Symmetric private information retrieval is a stronger version of PIR that in addition to protecting the querier’s privacy, also protects the data privacy. The multi-server, information-theoretic version (IT-SPIR) was introduced by GIKM00, but follow-up works showed how to construct computationally secure versions based on assumptions.
Single-server SPIR is equivalent to -out-of- OT with an additional efficiency requirement.
Secret-Key PIR (SK-PIR)
In secret-key PIR, the client holds a short secret key derived from an offline encoding of the database. The server holds an encoded database ; online queries use only communication, without requiring sublinear server computation (contrast: SK-DEPIR, which requires both).
Syntax
An SK-PIR scheme is a tuple :
- : randomized; generates secret key and encoded database .
- : randomized; outputs online query and client state .
- : deterministic server response.
- : deterministic; recovers .
Correctness
An SK-PIR scheme is -correct if for all and ,
where and . When , the scheme is perfectly correct.
Security
The adversary acts as the server: it chooses the database, then sees the encoded database and polynomially many online queries under the same , each for index of an adaptively chosen pair . runs once, and neither nor is updated between queries — CIMR25, BM26. Security requires the queries to reveal nothing about despite the adversary knowing .
\begin{algorithm}
\algname{Game}
\caption{$\Game^{\mathrm{sk\text{-}priv}}_{\PIR,\calA}(\secpar)$}
\begin{algorithmic}
\State $(D, \stA) \gets \calA(1^\secpar)$
\State $(\sk, D') \gets \Setup(1^\secpar, D)$
\State $b \getsr \bits$
\State $b' \gets \calA^{\calO_b}(D', \stA)$
\Comment{$\calA$ sees $D'$ but not $\sk$}
\Return $[b' = b]$
\end{algorithmic}
\end{algorithm}
\begin{algorithm}
\algname{Oracle}
\caption{$\calO_b(i_0, i_1)$}
\begin{algorithmic}
\State $(q, \st) \gets \Query(\sk, i_b)$
\Return $q$
\end{algorithmic}
\end{algorithm}
An SK-PIR scheme is secret-key private if for all efficient ,
is negligible.
Other results
- Non-trivial cPIR ⇒ OT
- No reduction from NP to one-round sublinear cPIR
- Every single-server PIR without preprocessing in which the server sends fewer than bits, built from public-key primitives in DH24’s black-box model, performs public-key operations, however many symmetric-key operations it uses — DH24
Constructions
- TDH ⇒ cPIR
- DDH ⇒ TDH
- QR ⇒ TDH
- LWE with superpolynomial ratio ⇒ TDH
- High-noise LPN ⇒ Secret-Key PIR (SK-PIR)
- OWF ⇒ Secret-Key PIR (SK-PIR)
Participates in
Builds on Private Information Retrieval
- One-round sublinear cPIR ⇒ CRHF (via One-round sublinear PIR)
- Non-trivial cPIR ⇒ OT (via PIR with total communication below )
- Non-trivial cPIR ⇒ OWF (via Non-trivial PIR)
- One-round sublinear cPIR ⇒ cPIR with total communication below n (via One-round sublinear PIR)
- Symmetric private information retrieval (Single-server) ⇒ cPIR (via Symmetric private information retrieval (Single-server))
- Symmetric private information retrieval (Single-server) ⇒ OT (via Symmetric private information retrieval (Single-server))
- cPIR with total communication below n ⇒ Non-trivial cPIR (via PIR with total communication below )
Produces Private Information Retrieval
- Additively homomorphic encryption ⇒ cPIR (via One-round sublinear PIR)
- DCR ⇒ One-round sublinear cPIR (via One-round sublinear PIR)
- Unkeyed DEPIR ⇒ cPIR
- OWF ⇒ Secret-Key PIR (SK-PIR) (via Secret-Key PIR (SK-PIR))
- FHE ⇒ cPIR
- Φ-Hiding ⇒ cPIR
- High-noise LPN ⇒ Secret-Key PIR (SK-PIR) (via Secret-Key PIR (SK-PIR))
- LSN ⇒ Secret-Key PIR (SK-PIR) (via Secret-Key PIR (SK-PIR))
- One-round sublinear cPIR ⇒ cPIR with total communication below n (via PIR with total communication below )
- QR ⇒ cPIR (Kushilevitz–Ostrovsky) (via One-round sublinear PIR)
- Symmetric private information retrieval (Single-server) ⇒ cPIR
- TDH ⇒ cPIR
- TDP ⇒ cPIR with total communication below n (Kushilevitz–Ostrovsky) (via PIR with total communication below )
- cPIR with total communication below n ⇒ Non-trivial cPIR (via Non-trivial PIR)
Barriers