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)
seed234@email4.com
clap.1721@email3.com
fit.813@email2.com
panic_1384@email3.com
silly1498@email4.com
X1 (Email Service 1)
materi.1701@email1.com πΊπΈ
when.1785@email1.com πΊπΈ
come1369@email1.com πΊπΈ
unawar.1287@email1.com πΊπΈ
place.805@email1.com πΊπΈ
X2 (Email Service 2)
second612@email2.com πΊπΈ
anchor.626@email2.com πΊπΈ
fit.813@email2.com πΊπΈ
auto_1278@email2.com πΊπΈ
abilit.1277@email2.com πΊπΈ
X3 (Email Service 3)
clap.1721@email3.com πΊπΈ
panic_1384@email3.com πΊπΈ
toilet552@email3.com πΊπΈ
era1634@email3.com πΊπΈ
keep.1468@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
667cae...19024d
1a9c57...9a2c37
a6043f...24aa39
ca2ceb...209e26
3cc441...220717
R1
8a9af7...cff676 & b2e6e1...7a987f
cc50cb...762e1d & 60e79d...806b76
843585...57af18 & 8ad481...a4b27a
d02687...893a7a & 1854d1...926d3e
7636bf...35470e & ba43f6...9f4e12
R2
f0fbcf...dae518 & b63d2a...07755d
4c5afb...97737e & 58f9de...98bc2b
c43b5c...653376 & 50c5bb...74e146
58edac...3f9347 & a0e75d...d1b73a
825cf0...021058 & c6b92d...7c1c4d
R3
a431ef...342855 & 7e8e6f...169b46
6a70a3...804527 & 56b408...410330
9a9135...423166 & 9cb1e1...532949
c0a472...4dc253 & 9890e8...e43469
24ec29...bc5f79 & f4ac8b...3dd15d
Email Service 3 uses M, R3 to build a shuffled and encrypted table B.
M
667cae...19024d
1a9c57...9a2c37
a6043f...24aa39
ca2ceb...209e26
3cc441...220717
R (created by Service 3)
a431ef...342855 & 7e8e6f...169b46
6a70a3...804527 & 56b408...410330
9a9135...423166 & 9cb1e1...532949
c0a472...4dc253 & 9890e8...e43469
24ec29...bc5f79 & f4ac8b...3dd15d
B
c0a472...4dc253 & c84c5b...0afc73
a431ef...342855 & 45b022...8e4540
24ec29...bc5f79 & fd1bf7...8a8753
6a70a3...804527 & ca2e1c...10a633
9a9135...423166 & 0f8d28...747c73
Intelligence Community computes the intersection size using B and the blinding key .