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)
great.229@email2.com
glimps787@email4.com
abilit.1161@email4.com
cradle29@email1.com
useful.1942@email3.com
X1 (Email Service 1)
please514@email1.com πΊπΈ
wasp1817@email1.com πΊπΈ
stay.1817@email1.com πΊπΈ
cradle29@email1.com πΊπΈ
parrot.352@email1.com πΊπΈ
X2 (Email Service 2)
great.229@email2.com πΊπΈ
infant_1087@email2.com πΊπΈ
securi_1806@email2.com πΊπΈ
impact.506@email2.com πΊπΈ
donate805@email2.com πΊπΈ
X3 (Email Service 3)
peasan316@email3.com πΊπΈ
chimne285@email3.com πΊπΈ
licens.1357@email3.com πΊπΈ
useful.1942@email3.com πΊπΈ
argue_1582@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
7eec4b...4bb875
e604bd...8a860a
fa8e6d...7bae04
beea5f...b1a011
d6d38f...bbdf5f
R1
daa452...8d5454 & ea2437...1d1166
cae67c...70250d & 1855f5...04f15d
a06ead...e4ca75 & f4ca72...c5bf28
a4328a...8b0138 & ec9f0b...407509
247062...30fe06 & 38f8c9...1d7165
R2
068854...a04147 & 62c4c2...25237c
705d13...bd5c79 & e0877d...ad584c
96464c...0c376d & b2a836...5b737d
84e486...082040 & 9e5637...0d835c
823170...420741 & 50e855...043515
R3
023687...0d0028 & e0cfaf...8ada60
ea9b19...42b40d & 9868e9...9cf634
0039c1...a2e923 & 2e0af2...83e06f
12fed1...552278 & a0a690...9ad03c
74a426...711630 & 3eeea0...83d468
Email Service 3 uses M, R3 to build a shuffled and encrypted table B.
M
7eec4b...4bb875
e604bd...8a860a
fa8e6d...7bae04
beea5f...b1a011
d6d38f...bbdf5f
R (created by Service 3)
023687...0d0028 & e0cfaf...8ada60
ea9b19...42b40d & 9868e9...9cf634
0039c1...a2e923 & 2e0af2...83e06f
12fed1...552278 & a0a690...9ad03c
74a426...711630 & 3eeea0...83d468
B
74a426...711630 & de5396...b48075
ea9b19...42b40d & f7f3e2...1149f6
023687...0d0028 & 4c4cc7...f5f6f9
0039c1...a2e923 & 96a764...e02188
12fed1...552278 & 2c2075...06f42b
Intelligence Community computes the intersection size using B and the blinding key .