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)
tattoo_315@email1.com
rack756@email4.com
decrea_352@email1.com
steak1550@email2.com
walk_1825@email4.com
X1 (Email Service 1)
decrea_352@email1.com πΊπΈ
suspec.88@email1.com πΊπΈ
blush_1997@email1.com πΊπΈ
stock.65@email1.com πΊπΈ
tattoo_315@email1.com πΊπΈ
X2 (Email Service 2)
steak1550@email2.com πΊπΈ
capita_1502@email2.com πΊπΈ
wash.1755@email2.com πΊπΈ
trophy.948@email2.com πΊπΈ
virus.88@email2.com πΊπΈ
X3 (Email Service 3)
unifor1263@email3.com πΊπΈ
plug.806@email3.com πΊπΈ
crater.1292@email3.com πΊπΈ
name191@email3.com πΊπΈ
mentio.1429@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
9a0423...9d8828
fad29e...bbb312
a26c7f...d6c925
26bb58...385635
f4534e...47f270
R1
768746...c94f47 & ea20ba...4e1e39
005188...3dd801 & 66e568...6d6c34
cc61dd...79bb0e & 268f6f...36d064
e827cc...1aab13 & 947af9...4cf736
7add63...e11f36 & 8469ae...3fe530
R2
3e9d9e...d0e955 & 1c2b99...750a36
d6777a...e44304 & 420b55...50582e
8aaa0f...66bf3c & 720e3c...647d64
9ae703...b3e837 & 982d8c...2c1517
42fbee...fd296e & 4274d0...82d526
R3
fcd796...55c93e & cefe82...069667
1c5a32...5e6803 & e880e4...41556b
fe2143...fdec1f & 5c215e...82f976
8aeb0f...152d25 & 042dcf...a08305
94ae15...24b955 & a2ff8d...ccde16
Email Service 3 uses M, R3 to build a shuffled and encrypted table B.
M
9a0423...9d8828
fad29e...bbb312
a26c7f...d6c925
26bb58...385635
f4534e...47f270
R (created by Service 3)
fcd796...55c93e & cefe82...069667
1c5a32...5e6803 & e880e4...41556b
fe2143...fdec1f & 5c215e...82f976
8aeb0f...152d25 & 042dcf...a08305
94ae15...24b955 & a2ff8d...ccde16
B
8aeb0f...152d25 & 034aec...a79277
fe2143...fdec1f & 5014bf...fc7c6f
94ae15...24b955 & 4f3b01...bb6a62
1c5a32...5e6803 & 096d53...e3a602
fcd796...55c93e & dc28af...96ace1
Intelligence Community computes the intersection size using B and the blinding key .