PIR in one picture
A PIR protocol has two guarantees worth memorizing:
- Correctness. If you ask for row
i, you get rowi. - Privacy. The server cannot learn which row you asked for — its view of the query is indistinguishable across all valid indices.
The mechanical implication of (2) is that the server must touch every row identically. If it could skip even one row, it would learn something about which row you didn't want. Every PIR backend differs in how it forces the server to touch all rows — but they all do.
The animation above is a cartoon. Real PIR schemes achieve "touches every row identically" using clever cryptography: secret-shared indicator functions (DPF), homomorphic encryption (OnionPIR), or preprocessed hints (HarmonyPIR). The next three sections unpack each.