
Google Private Join and Compute: Retro Cryptography to Keep Data Sets Private - yarapavan
https://github.com/google/private-join-and-compute
======
yarapavan
Google blog post -> [https://security.googleblog.com/2019/06/helping-
organization...](https://security.googleblog.com/2019/06/helping-
organizations-do-more-without-collecting-more-data.html)

Many important research, business, and social questions can be answered by
combining data sets from independent parties where each party holds their own
information about a set of shared identifiers (e.g. email addresses), some of
which are common. But when you’re working with sensitive data, how can one
party gain aggregated insights about the other party’s data without either of
them learning any information about individuals in the datasets? That’s the
exact challenge that Private Join and Compute helps solve.

Using this cryptographic protocol, two parties can encrypt their identifiers
and associated data, and then join them. They can then do certain types of
calculations on the overlapping set of data to draw useful information from
both datasets in aggregate. All inputs (identifiers and their associated data)
remain fully encrypted and unreadable throughout the process. Neither party
ever reveals their raw data, but they can still answer the questions at hand
using the output of the computation. This end result is the only thing that’s
decrypted and shared in the form of aggregated statistics. For example, this
could be a count, sum, or average of the data in both sets.

