Estimating Incidental Collection in Foreign Intelligence Surveillance
Large Scale Multiparty Private Set Intersection with Union and Sum
Instructions
This example is a gross simplification. Please refer to the paper for the exact protocol. In this example, there are 4 participants: Intelligence Community, Email Service 1, Email Service 2, Email Service 3. For simplicity, all participants have input tables of the same size. Hover over each table to view a list of participants it is visible to. Random tables can be generated by selecting the table and intersection sizes below.
5
3
Setup
Each participant builds an input table consisting of email addresses. Intelligence Community's input table X0 contains all addresses they incidentally collected emails to or from. Service providers' input tables X1, X2, X3 contain all email addresses believed to be controlled by users located in the U.S. πΊπΈ
X0 (Intelligence Community)
tongue.1979@email1.com
age1643@email1.com
fine.497@email4.com
sword1524@email2.com
among476@email4.com
X1 (Email Service 1)
field379@email1.com πΊπΈ
list11@email1.com πΊπΈ
tongue.1979@email1.com πΊπΈ
shrimp1780@email1.com πΊπΈ
age1643@email1.com πΊπΈ
X2 (Email Service 2)
tape.330@email2.com πΊπΈ
pet.289@email2.com πΊπΈ
sword1524@email2.com πΊπΈ
wife_946@email2.com πΊπΈ
good_1985@email2.com πΊπΈ
X3 (Email Service 3)
dog.1925@email3.com πΊπΈ
burst337@email3.com πΊπΈ
decemb2030@email3.com πΊπΈ
lock_1961@email3.com πΊπΈ
spatia_1274@email3.com πΊπΈ
Protocol
The Intelligence Community generates a random blinding key and blinds its input table as elliptic curve points in M.
Email Service 1 uses M, X1 to build R1. Email Service 2 uses M, X2, R1 to build R2. Email Service 3 uses M, X3, R2 to build R3. R1, R2, and R3 contain two elliptic curve points in each row.
M
1ca948...f5b641
ee2b11...d9a171
34b371...6ae70e
4c7bbc...09e813
7408d0...58760b
R1
ce299f...06c914 & 72c9a3...419d78
5cce63...e61d02 & 802275...5b3121
c84411...0bad43 & 56f0ce...5cbe76
0ce82c...1c7461 & 369b03...b4575e
dc258e...a49a6b & e4c79f...0b0378
R2
6a8209...0a2b46 & 208c56...fc9835
0260e1...667d77 & e09789...fbea50
44f39b...bcb46a & a4c026...ea4141
503afe...ff9b0b & 02958c...529a1a
90d257...8a2c50 & 22f743...0e355f
R3
4a8317...dbbc0f & 96627d...77f735
5ebf1e...bff949 & 62a923...dfed77
983fd2...983432 & ac109d...1a7430
f49a25...291c1b & fe4d9b...04db67
d478c2...c22d51 & 2eb6ef...d59162
Email Service 3 uses M, R3 to build a shuffled and encrypted table B.
M
1ca948...f5b641
ee2b11...d9a171
34b371...6ae70e
4c7bbc...09e813
7408d0...58760b
R (created by Service 3)
4a8317...dbbc0f & 96627d...77f735
5ebf1e...bff949 & 62a923...dfed77
983fd2...983432 & ac109d...1a7430
f49a25...291c1b & fe4d9b...04db67
d478c2...c22d51 & 2eb6ef...d59162
B
4a8317...dbbc0f & 4226fb...e44f33
983fd2...983432 & e66e10...3776bc
d478c2...c22d51 & 512a86...2b3177
f49a25...291c1b & f1d7d2...966102
5ebf1e...bff949 & 201339...64bb4d
Intelligence Community computes the intersection size using B and the blinding key .