I've been struggling to find good info on how to do the following:

A(lice) and B(ob) each have a table of data (a and b respectively). Each table has an id column that is consistent between the parties. id is a numeric with largeish but limited range. Otherwise the tables contain different data.

The tables have been deidentified apart from the id. So it's impossible for A or B to derive what record they are looking at if they have a or b without the id column. This goes both for their own data and the other's data.

The parties wish to find the records that exist both in a and b without revealing which ones matched.

Essentially, they need the result of select * from a inner join b on a.id=b.id; with the id removed.

A & B may need to find a shared environment to do this, but the data must not leave A or B without it being anonymised.

I've got some amateur hour ideas, but I'm hoping experts here can help or point me in the right direction. I also hope that this is an appropriate question for this forum.

  • $\begingroup$ This sounds a lot like private set intersection. $\endgroup$
    – Maeher
    Jun 12 '19 at 11:49
  • $\begingroup$ Thanks was struggling with finding terms to search for. $\endgroup$
    – Louis
    Jun 12 '19 at 13:29
  • $\begingroup$ Private set intersection (PSI) seems like it's in the right direction. I don't want A and B to know which ids intersect. It seems PSI reveals this information? $\endgroup$
    – Louis
    Jun 12 '19 at 14:31
  • $\begingroup$ Then I seem to be misunderstanding your goal. If A and B learn the rest of the data, couldn't they just scan their table to learn the id anyway? $\endgroup$
    – Maeher
    Jun 12 '19 at 15:15
  • $\begingroup$ A & B need to ensure that the tables are de-identified such that you cannot uniquely identify records without the id. The practical use case is to share information (that's protected by law or otherwise) for research between organistions which have different and useful information on the same entity without revealing specific information about any record. $\endgroup$
    – Louis
    Jun 12 '19 at 15:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.