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 possibly randomized 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 the probability is also over the coins of .
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.
Several rounds
For a scheme with several rounds, also chooses with and receives, in place of , the server’s view of an honest execution between the client on input and the server on input ; the scheme has query privacy if this advantage is negligible for all efficient . It is -correct if for all and the client on input , run with the server on input , outputs with probability at least over and all coins of the execution, and its server is deterministic if each server message is a function of and the client’s messages so far. The non-trivial, total-communication and symmetric (SPIR) notions below use this form.
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 retrieves a value by its keyword rather than by its index
- PIR with client preprocessing gives the client a hint before it chooses its indices, for sublinear amortized server computation on an unencoded database
- Batch PIR retrieves several entries at once
Non-trivial PIR
A PIR scheme, of one round or several, is non-trivial if it has query privacy and, for some polynomial , it is -correct and on every -bit database the server sends fewer than bits in total. The error bound is the one at which the implication to one-way functions is proved for this communication bound — BIKM99. The communication bound is where assumptions start: the trivial PIR, which downloads the database, is perfectly correct and perfectly private with no assumption — BIKM99. With one server, a perfectly correct scheme with information-theoretic (perfect) privacy requires bits of communication on -bit databases, so the trivial scheme is optimal — CGKS98.
PIR with total communication below
A PIR scheme has total communication below if it has query privacy, is perfectly correct, has a deterministic server and, for some polynomial , on every -bit database the client and the server together send fewer than bits; the communication bound is 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 has query privacy, 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; its is also deterministic, so that a fixed query defines a function of the database. Perfect correctness makes this free: with its coins fixed to any value is still perfectly correct and leaves the query and the communication unchanged — folklore.
PIR with polylogarithmic communication
A PIR scheme has polylogarithmic communication if it has query privacy, is -correct for a negligible , consists of the query and the answer alone, as in the syntax above, and, for a polynomial and every , has communication on every -bit database. The first such scheme rests on the Φ-hiding assumption — CMS99. On databases of large polynomial size the error is below and the server sends fewer than bits, so such a scheme implies one-way functions — BIKM99. Such PIR suffices for non-interactive delegation of all polynomial-time computations with a designated verifier (PIR with polylogarithmic communication ⇒ Designated-verifier delegation for P) — BHK17.
Symmetric private information retrieval (Single-server)
In symmetrically private information retrieval (SPIR) the privacy of the data is guaranteed as well as the privacy of the user: in every invocation the user learns a single physical bit of the database and no other information about it — GIKM00, who introduce the model for several servers (IT-SPIR). OS07 call the single-database definition identical to that of -out-of- OT — OS07. Single-server SPIR is in addition a PIR scheme, in the form for several rounds, in which on every -bit database the client and the server together send at most bits, for a polynomial and a constant , so fewer than bits once . Every PIR protocol with total communication below yields -out-of- OT, which DMO00 call SPIR, by a communication-efficient reduction — DMO00. NP05’s computationally secure -out-of- OT uses only executions of -out-of- OT; as a corollary, any PIR protocol, combined with that -out-of- OT, transforms efficiently into one that also has data privacy — NP05. DMO00’s abstract calls the reduction only communication-efficient and does not bound the communication of the resulting protocol.
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.
Keyword PIR
In keyword PIR the server holds pairs with distinct keywords and values , and a client holding a keyword runs a protocol , of any number of rounds, at the end of which it outputs if and if is no keyword, except with negligible probability. The communication is at most for a polynomial and a constant , which rules out sending every pair. The notion is due to CGN98. Below, denotes an execution in which the client outputs and is the server’s view.
\begin{algorithm}
\algname{Game}
\caption{$\Game^{\mathrm{kw\text{-}priv}}_{\PIR,\calA}(\secpar)$}
\begin{algorithmic}
\State $((w_j, v_j)_{j \in [n]}, w^0, w^1, \stA) \gets \calA(1^\secpar)$; $b \getsr \bits$
\State $(y, V) \gets \langle C(1^\secpar, w^b), S((w_j, v_j)_{j \in [n]}) \rangle$
\Comment{$\calA$ sees only the server's view}
\State $b' \gets \calA(V, \stA)$
\Return $[b' = b]$
\end{algorithmic}
\end{algorithm}
A keyword PIR is keyword-private if for all efficient ,
is negligible.
PIR with client preprocessing
A single-server PIR with client preprocessing (offline/online PIR) is a protocol between a client and a server that stores unencoded and nothing else. In an offline phase, run before the client chooses any index, the client obtains a hint , written with the server’s view. In the online phase the client retrieves for adaptively chosen indices, each retrieval an execution that outputs and may update the hint to ; after every retrievals the offline phase is rerun. The scheme is correct if for every and every sequence of indices each retrieval outputs except with negligible probability. It is sublinear if there are a polynomial and a function such that the client’s storage, and the server’s computation and the communication of one offline phase with its retrievals divided by , are each at most . The offline/online model is due to CK20; sublinear amortized server time with adaptive queries is due to CHK22. Every PIR with client preprocessing below is required to be sublinear.
\begin{algorithm}
\algname{Game}
\caption{$\Game^{\mathrm{cp\text{-}priv}}_{\PIR,\calA}(\secpar)$}
\begin{algorithmic}
\State $(D, \stA) \gets \calA(1^\secpar)$; $b \getsr \bits$; $j \gets 0$
\State $(h, V) \gets \langle C(1^\secpar, 1^n), S(D) \rangle$
\Comment{Offline phase, independent of the indices}
\State $b' \gets \calA^{\calO_b}(V, \stA)$
\Return $[b' = b]$
\end{algorithmic}
\end{algorithm}
\begin{algorithm}
\algname{Oracle}
\caption{$\calO_b(i_0, i_1)$}
\begin{algorithmic}
\State $j \gets j + 1$
\State $((h, x), V) \gets \langle C(h, i_b), S(D) \rangle$
\If{$j \equiv 0 \pmod{Q}$}
\State $(h, V') \gets \langle C(1^\secpar, 1^n), S(D) \rangle$; $V \gets (V, V')$
\EndIf
\Return $V$
\end{algorithmic}
\end{algorithm}
A PIR with client preprocessing is private if for all efficient ,
is negligible.
Constructions and lower bounds
- Constructions exist from one-way functions (OWF ⇒ PIR with client preprocessing (Piano)) — ZPZS24 — and, through linearly homomorphic encryption, from DDH (DDH ⇒ PIR with client preprocessing) and QR (QR ⇒ PIR with client preprocessing), among other assumptions — CHK22.
- Under decision LWE, a hint computed by the server gives single-server PIR whose server performs fewer than one 32-bit multiplication and one 32-bit addition per database byte, about 10 GB/s per core: for a 1 GB database the client downloads a 121 MB hint once and then makes any number of queries of 242 KB each; DoublePIR shrinks the hint to 16 MB at 345 KB per query and 7.4 GB/s per core — HHCMV23. In SimplePIR the hint is the database, arranged as a matrix, times the public LWE matrix, so it depends on no client secret; for entries and LWE secret dimension it has about elements of and each query and answer about , while DoublePIR’s hint is independent of . The concrete parameters take and a discrete Gaussian error — HHCMV23. Online server time stays linear in the database size, so these schemes are not sublinear in the sense above.
- For databases stored unencoded, the offline/online protocols of CK20 are optimal for the trade-off between communication and online running time — CK20.
- Under LWE, a single-server scheme with client preprocessing has amortized bandwidth per query, server and client computation per query and client storage , optimal up to polylogarithmic factors in server computation and bandwidth — ZLTS23.
- An -bit hint and entries accessed per retrieval require , which is tight and closes a logarithmic gap; the bound holds for error at most , against efficient adversaries corrupting one of servers, when entries are stored unmodified though possibly replicated — Yeo23. Proving such lower bounds for two-server PIR in general computational models would imply the online matrix-vector conjecture — Yeo23.
- Information-theoretic single-server schemes exist, with non-trivial trade-offs between server computation, client space and bandwidth; they obey a nearly tight lower bound on the trade-off between client space and bandwidth, and a computational scheme beating it that meets a natural syntactic requirement implies a hard problem in — ISW24. Among them is a single-server scheme with sublinear server computation (their Theorem 1.4) — ISW24.
- With cryptography used only as a black box, random oracles and VBB obfuscation included, a client storing bits needs amortized online computation over queries: either amortized online communication or cryptographic operations by the server, and each alternative is tight — HPY26.
Batch PIR
A batch code encodes a string into buckets so that any of its bits can be decoded by reading at most one bit, or more generally bits, from each bucket; batch codes amortize the computational cost of retrieving entries by PIR — IKOS04. Probabilistic batch codes trade a small probability that some queries of a batch fail, about one in a trillion multi-queries, for far fewer buckets, which cuts the network cost of batch-code-based multi-query PIR — ACLS18; with vectorized homomorphic encryption, batch PIR can be efficient in both computation and communication, with to times less communication than earlier schemes in the paper’s benchmark configuration — MR23. With an -bit client hint, batch retrieval of entries accessing entries needs when , and when — Yeo23.
Other results
- cPIR with total communication below n ⇒ 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
- In every perfectly private, perfectly correct PIR whose servers store only the database and whose client keeps no state between queries, for any number of servers and whatever its communication, the servers together read at least database bits per query in expectation — BIM00. The bound on server time holds with computational privacy too, but for a client that keeps state it bounds only the first query — CHK22. Doubly-efficient PIR stores an encoding of the database instead, and PIR with client preprocessing moves the linear server work into an offline phase run before the client chooses its index — CK20.
Practical single-server schemes
- SealPIR compresses the client’s query vector into a single ciphertext — ACLS18.
- OnionPIR composes two lattice-based somewhat homomorphic schemes, for a response overhead of times the insecure baseline against times for earlier schemes — MCR21.
- Spiral composes the Regev and Gentry–Sahai–Waters schemes; its streaming variant SpiralStreamPack, on databases with over a million records, reaches a server throughput of GB/s at rate , against MB/s and for earlier protocols — MW22.
- YPIR combines LWE with ring-LWE response compression and needs no offline communication: for a 1-bit or 1-byte record of a 32 GB database it achieves GB/s/core with MB of total communication, where SimplePIR achieves GB/s/core with MB but first downloads a MB hint — MW24.
- FrodoPIR reports a server cost of about $1 for answering client queries in its benchmark — DPC23.
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)
- cPIR with total communication below n ⇒ OT (via PIR with total communication below )
- Non-trivial cPIR ⇒ OWF (via Non-trivial PIR)
- One-round sublinear cPIR ⇒ Keyword PIR (via One-round sublinear PIR)
- One-round sublinear cPIR ⇒ cPIR with total communication below n (via One-round sublinear PIR)
- PIR with polylogarithmic communication ⇒ cPIR (via PIR with polylogarithmic communication)
- PIR with polylogarithmic communication ⇒ Designated-verifier delegation for P (via PIR with polylogarithmic communication)
- PIR with polylogarithmic communication ⇒ Non-trivial cPIR (via PIR with polylogarithmic communication)
- 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)
- DDH ⇒ PIR with client preprocessing (CHK22) (via PIR with client preprocessing)
- Unkeyed DEPIR ⇒ cPIR
- OWF ⇒ Secret-Key PIR (SK-PIR) (via Secret-Key PIR (SK-PIR))
- Φ-Hiding ⇒ cPIR (via PIR with polylogarithmic communication)
- Length-flexible additively homomorphic encryption ⇒ PIR with polylogarithmic communication (Lipmaa) (via PIR with polylogarithmic communication)
- 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 ⇒ Keyword PIR (via Keyword PIR)
- One-round sublinear cPIR ⇒ cPIR with total communication below n (via PIR with total communication below )
- OWF ⇒ PIR with client preprocessing (Piano) (via PIR with client preprocessing)
- PIR with polylogarithmic communication ⇒ cPIR
- PIR with polylogarithmic communication ⇒ Non-trivial cPIR (via Non-trivial PIR)
- QR ⇒ PIR with client preprocessing (CHK22) (via PIR with client preprocessing)
- 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
- No polynomially-preserving fully-black-box reduction from enhanced TDP to one-round sublinear cPIR (via One-round sublinear PIR)
- No fully-black-box reduction from NP to one-round sublinear cPIR (via One-round sublinear PIR)
- No polynomially-preserving fully-black-box reduction from TDP to one-round sublinear cPIR (via One-round sublinear PIR)