Private Information Retrieval (PIR)
Private Information Retrieval (PIR) is a primitive that allows a client to access a specific element from a public array without revealing which array element was accessed, introduced by CGKS98.
Definition
A -server Private Information Retrieval (PIR) for a database of size is a tuple of efficient functions , with respect to randomness space such that:
Syntax
- Generally, we consider the size of the initial queries to be bits each and the answers to be bits each.
- In general, we can consider the total communication of a PIR as .
- A PIR is non-trivial only so long as the communication is less than .
Correctness
A PIR is correct if for all , , and where each and .
Privacy
A PIR is private if for every , , and ,
Intuitively, this means that each server observes the same query uploaded with the same probability.
Computational Multi-server PIR
Similar to the Single-Server Private Information Retrieval, one can weaken the notion of multi-server PIR to only be private against polynomial-time non-colluding servers. In this setting, the syntax remains the same, but now the query distribution is only required to be computationally indistinguishable for any two index pairs.
Doubly Efficient Multi-server PIR
TODO
Other results
- The typical setting is the 1-bit array (also called database), since you can build a -bit PIR using just copies of a 1-bit PIR.