Thread: Private Information Retrieval (PIR) as a C/C++ Aggregate Extension

Private Information Retrieval (PIR) as a C/C++ Aggregate Extension

From
"Private Information Retrieval(PIR)"
Date:
Hello,

I've created a Postgresql C/C++ Aggregate Extension implementing Private Information Retrieval (PIR) using Homomorphic Encryption. The open sourced version can be found here: https://github.com/ReverseControl/MuchPIR .

In essence, with PIR we can retrieve data from any row in a table without revealing to the server doing the search which row data was retrieved, or whether the data was found at all. 

I am seeking feedback from the postgres community on this extension. Is it something of interest? Is it something anyone would like to contribute to and make better? Is there similar work already publicly available? Any reference would be greatly appreciated.

Thank you.

Sent with ProtonMail Secure Email.

Re: Private Information Retrieval (PIR) as a C/C++ Aggregate Extension

From
Andrey Borodin
Date:
Hi!

> 12 сент. 2021 г., в 18:02, Private Information Retrieval(PIR) <postgresql-pir@pm.me> написал(а):
>
> I've created a Postgresql C/C++ Aggregate Extension implementing Private Information Retrieval (PIR) using
HomomorphicEncryption. The open sourced version can be found here: https://github.com/ReverseControl/MuchPIR . 
>
> In essence, with PIR we can retrieve data from any row in a table without revealing to the server doing the search
whichrow data was retrieved, or whether the data was found at all.  
>
> I am seeking feedback from the postgres community on this extension. Is it something of interest? Is it something
anyonewould like to contribute to and make better? Is there similar work already publicly available? Any reference
wouldbe greatly appreciated. 

PIR seem to be interesting functionality.
As far as I understand in terms of a database PIR is special kind of an aggregator, which extracts some part of data
unknownto server. 

One question came to my mind. Can we limit the amount of extracted data? It makes sense to protect the database from
copy.

Also you may be interested in differential privacy data exploration [0,1]. This is a kind of data aggregation which
protectsdata from deducing single row by means of aggregation. Implementation could be resemblant to MuchPIR. 

Thanks!

Best regards, Andrey Borodin.

[0] https://en.wikipedia.org/wiki/Differential_privacy
[1] https://cs.uwaterloo.ca/~ilyas/papers/GeSIGMOD2019.pdf


Re: Private Information Retrieval (PIR) as a C/C++ Aggregate Extension

From
"Private Information Retrieval(PIR)"
Date:
Yes, that is accurate. You can think of PIR as an aggregator.

The amount of data per query is already limited. In fact, the naive implementation of Information Theoretic PIR
requiresthe transmission of the entire database. MuchPIR implementation makes use of the already optimized
query/responsepresented in [1]. As for protection of the database per copy: anyone who already has access to your
databasecan copy it if they so wish so. PIR's threat model revolves around keeping data query/result private even when
everythingbeyond your private zone is untrusted. Data copy is not a concern. 

There is one configuration in which the query can be reduced to about 1 MB in size. Comes at a cost somewhere else
though.There is an optimization that reduces the query size by more than half, but that is not available in the demo.
Thequery result however is  fixed in size, per configuration, up to compression. 

Yes, our particular implementation does lend itself to other uses falling under Differential Privacy. In fact, we have
alreadyworked out the technical details for several such use cases: retrieval on keyword match, or ID match, sum
aggregator, and string search. The most remarkable part of string search is that searches can be done with using
wildcardsas well, though the returned data will be how many hits occurred. The size of the string to be searched
remainsvery small, but we are working to improve every aspect of MuchPIR and the technology we are building on top of
it.


MucPIR Team

[1] https://eprint.iacr.org/2017/1142.pdf



Sent with ProtonMail Secure Email.

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐

On Sunday, September 12th, 2021 at 1:00 PM, Andrey Borodin <x4mmm@yandex-team.ru> wrote:

> Hi!
>
> > 12 сент. 2021 г., в 18:02, Private Information Retrieval(PIR) postgresql-pir@pm.me написал(а):
> >
> > I've created a Postgresql C/C++ Aggregate Extension implementing Private Information Retrieval (PIR) using
HomomorphicEncryption. The open sourced version can be found here: https://github.com/ReverseControl/MuchPIR . 
> >
> > In essence, with PIR we can retrieve data from any row in a table without revealing to the server doing the search
whichrow data was retrieved, or whether the data was found at all. 
> >
> > I am seeking feedback from the postgres community on this extension. Is it something of interest? Is it something
anyonewould like to contribute to and make better? Is there similar work already publicly available? Any reference
wouldbe greatly appreciated. 
>
> PIR seem to be interesting functionality.
>
> As far as I understand in terms of a database PIR is special kind of an aggregator, which extracts some part of data
unknownto server. 
>
> One question came to my mind. Can we limit the amount of extracted data? It makes sense to protect the database from
copy.
>
> Also you may be interested in differential privacy data exploration [0,1]. This is a kind of data aggregation which
protectsdata from deducing single row by means of aggregation. Implementation could be resemblant to MuchPIR. 
>
> Thanks!
>
> Best regards, Andrey Borodin.
>
> [0] https://en.wikipedia.org/wiki/Differential_privacy
>
> [1] https://cs.uwaterloo.ca/~ilyas/papers/GeSIGMOD2019.pdf