Private Information Retrieval

Description

Private Information Retrieval (PIR) is a protocol that allows a client to retrieve an element of a database without the owner of that database being able to determine which element was selected. While this problem admits a trivial solution - sending the entire database to the client allows the client to query with perfect privacy - there are techniques to reduce the communication complexity of this problem, which can be critical for large databases. Additionally, Strong Private Information Retrieval (SPIR) is private information retrieval with the additional requirement that the client only learn about the elements he is querying for, and nothing else. This requirement captures the typical privacy needs of a database owner.

This library is the first publically available implementation of the best known protocols for PIR/SPIR and related problems.

People

Dan Boneh, Andrew Bortz, Srinivas Inguva, Felipe Saint-Jean, Joan Feigenbaum

Status

PIR is implemented and tested. The PIR Server can host a List of BigIntegers (lookup by index) or a Map from BigIntegers to BigIntegers (lookup by key). An interface to a SQL backend database and an implementation of SPIR is in progress, as is documentation. Currently, documentation is contained in the test programs, which demonstrate the use of the library.

Downloads

Here is the current development version of the library: pir-0.1.tar.gz

Publications

Saint-Jean, Felipe, A Java Implementation of a Single-Database Computationally Symmetric Private Information Retrieval (cSPIR) protocol, Yale University Technical Report YALEU/DCS/TR-1333, July 2005. See http://crypto.stanford.edu/portia/pubs/articles/S1017797364.html

Related Papers

C. Cachin, S. Micali, and M. Stadler. Computationally private information retrieval with polylog communication. In EUROCRYPT99, 1999.

E. Kushilevitz and R. Ostrovsky. Replication is not needed: Single database, computationally-private information retrieval (extended abstract). In Proc. of the 38st IEEE Sym. on Found. of Comp. Sci., pages 364-373, 1997.

H. Lipmaa. An oblivious transfer protocol with log-squared total communication, 2004. See http://eprint.iacr.org/2004/063/.