A method and system for privately retrieving selected information from a
database. The method includes determining, at a server, a first commodity
and a second commodity, communicating the first commodity to an inquiring
processor and the second commodity to the database, and retrieving the
selected information from the database based on the first commodity and
the second commodity such that the selected information is not revealed to
the database. The first and second commodities may, for example, include a
random address in the database and a private information retrieval query
for encoding the random address, respectively. The inquiring processor
determines an address offset based on the random address and the address
of selected information in the database, and sends the address offset to
the database. The database cyclically shift its contents according the
address offset, and executes the query on the cyclically shifted contents.
The database then sends the result of the query to the inquiring
processor, which extracts from the result the selected information in the
database.
Un método y un sistema para privado recuperar la información seleccionada de una base de datos. El método incluye la determinación, en un servidor, de una primera materia y de una segunda materia, comunicando la primera materia a un procesador de investigación y la segunda materia a la base de datos, y recuperando la información seleccionada de la base de datos basada en la primera materia y la segunda materia tales que la información seleccionada no está revelada a la base de datos. Las primeras y segundas materias pueden, por ejemplo, incluir una dirección al azar en la base de datos y una pregunta privada de la recuperación de datos para codificar la dirección al azar, respectivamente. El procesador de investigación determina una compensación de la dirección basada en la dirección al azar y la dirección de la información seleccionada en la base de datos, y envía la dirección compensada a la base de datos. De la base de datos la cambio cíclico su contenido que acuerda la compensación de la dirección, y ejecuta la pregunta en el contenido cíclico cambiado de puesto. La base de datos entonces envía el resultado de la pregunta al procesador de investigación, que extrae del resultado la información seleccionada en la base de datos.