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)
reveal.752@email1.com
rally323@email4.com
garbag1494@email4.com
winner.1836@email2.com
baby.1631@email3.com
X1 (Email Service 1)
nothin_1148@email1.com πΊπΈ
antenn.1539@email1.com πΊπΈ
walk_1768@email1.com πΊπΈ
oxygen1814@email1.com πΊπΈ
reveal.752@email1.com πΊπΈ
X2 (Email Service 2)
vault266@email2.com πΊπΈ
cereal1992@email2.com πΊπΈ
fiscal_1565@email2.com πΊπΈ
round.2009@email2.com πΊπΈ
winner.1836@email2.com πΊπΈ
X3 (Email Service 3)
baby.1631@email3.com πΊπΈ
emotio_83@email3.com πΊπΈ
fortun.18@email3.com πΊπΈ
blade_1284@email3.com πΊπΈ
van_1547@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
1caa98...c6ac4d
96b556...c08122
ae9e25...534329
669f8a...6a0e6f
ec0f1b...930b7b
R1
0ea17d...010971 & b2c205...2a6576
947c53...d4604a & ac43dc...18a027
bc707d...868530 & 3af7dd...6e257b
70d8ca...9ea245 & 6ee823...2b6056
fa4393...47b115 & 5aec31...f4827b
R2
f494b4...0bb327 & 42cb7a...5af44d
5457a1...439c41 & 704684...715b0d
283294...7ff045 & 0e96f6...77533c
aeb94c...5ff739 & 962e81...ea1f1f
22cc2d...791558 & 7ca42e...96c26c
R3
da3677...f6f631 & 2280f8...961475
2c7a8a...82442d & d21713...ef5f6b
ea473f...cef654 & f85077...5ec464
d26385...d9416b & 3217ff...c3eb30
ccac87...022161 & 62f0c8...61e821
Email Service 3 uses M, R3 to build a shuffled and encrypted table B.
M
1caa98...c6ac4d
96b556...c08122
ae9e25...534329
669f8a...6a0e6f
ec0f1b...930b7b
R (created by Service 3)
da3677...f6f631 & 2280f8...961475
2c7a8a...82442d & d21713...ef5f6b
ea473f...cef654 & f85077...5ec464
d26385...d9416b & 3217ff...c3eb30
ccac87...022161 & 62f0c8...61e821
B
2c7a8a...82442d & dee555...193717
da3677...f6f631 & afc1c5...e170b2
ccac87...022161 & 2795fd...62c7a2
ea473f...cef654 & ae11d6...7df0c1
d26385...d9416b & 2a0293...7a10df
Intelligence Community computes the intersection size using B and the blinding key .