Oblivious locally decodable code

An oblivious locally decodable code (OLDC) is a secret-key encoding of a database that the key holder decodes locally, reading few positions of the encoding, such that the positions read hide which database bit is decoded from an observer who sees neither the key nor the encoding — BIPW17.

Syntax

An OLDC is a tuple of efficient algorithms such that

  • is a randomized algorithm that samples a secret key, without access to the database,
  • is a randomized algorithm that maps a database to an encoding with ,
  • is a randomized algorithm that, with coins , maps an index to a list of positions,
  • is a deterministic algorithm that maps the symbols at those positions to a bit .

This is the syntax of BIPW17 (Definition 3.1), whose key generation takes only and whose query sampler and decoder also take and .

Properties

Correctness

An OLDC is perfectly correct if for every , , and ,

where , and — BIPW17.

Efficiency

An OLDC is doubly efficient if and run in time polynomial in and , and there are a polynomial and a function with such that for every , and the number of bits read and the running times of and are each at most , the bound of doubly-efficient PIR. BIPW17 instead ask for some with for every and all sufficiently large , a threshold on that may grow with — BIPW17 (Definition 3.1).

Security

The adversary chooses the database size and then sees the positions of polynomially many adaptively chosen decodings, never the key or the encoding.

\begin{algorithm}
\algname{Game}
\caption{$\Game^{\mathrm{oldc}}_{\calA}(\secpar)$}
\begin{algorithmic}
\State $(1^n, \stA) \gets \calA(1^\secpar)$
\State $\sk \gets \KeyGen(1^\secpar, 1^n)$; $b \getsr \bits$
\State $b' \gets \calA^{\calO_b}(\stA)$
\Comment{$\calA$ sees neither $\sk$ nor the encoding}
\Return $[b' = b]$
\end{algorithmic}
\end{algorithm}
\begin{algorithm}
\algname{Oracle}
\caption{$\calO_b(i_0, i_1)$}
\begin{algorithmic}
\State $I \gets \Query(\sk, i_b; r)$ with fresh coins $r$
\Return $I$
\end{algorithmic}
\end{algorithm}

An OLDC is oblivious if for all efficient ,

is negligible. BIPW17 state the game with one challenge pair and oracle access to , which implies the game above by a hybrid argument (Remark 3.2) — BIPW17.

Other results

  • Permuted puzzles ⇒ OLDC — BIPW17
  • OLDC ⇒ Passive-server SK-DEPIR — folklore
  • An OLDC and one-way functions give public-key PIR with preprocessing in the virtual-black-box obfuscation hybrid model (Theorem 5.1); under the Permuted Low-Degree Polynomials Conjecture and one-way functions, with ideal obfuscation or a stateless hardware token of size , its communication and computation are for every (Theorem 5.8) — BIPW17.
  • BIPW17 argue that ruling out OLDCs would require proving strong data-structure lower bounds — BIPW17 (Appendix A).
  • LMW25 describe two-round passive-server SK-DEPIR as the notion BIPW17 call OLDCs — LMW25.

Participates in

Builds on Oblivious locally decodable code

Produces Oblivious locally decodable code