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)
coach_613@email4.com
catego.1863@email2.com
mean.1208@email2.com
someon_264@email4.com
pyrami.719@email3.com
X1 (Email Service 1)
quiz.1320@email1.com πΊπΈ
wide1517@email1.com πΊπΈ
since.839@email1.com πΊπΈ
studen_1773@email1.com πΊπΈ
trophy_482@email1.com πΊπΈ
X2 (Email Service 2)
catego.1863@email2.com πΊπΈ
coin.257@email2.com πΊπΈ
mean.1208@email2.com πΊπΈ
sign_1685@email2.com πΊπΈ
term.991@email2.com πΊπΈ
X3 (Email Service 3)
aim_1654@email3.com πΊπΈ
lawn290@email3.com πΊπΈ
solid.1486@email3.com πΊπΈ
pyrami.719@email3.com πΊπΈ
tooth1144@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
7cdc06...492d72
e89709...e6c650
387a2b...f53d5b
00dee8...4adf32
b8e024...6a7133
R1
deafb4...039060 & 4e2c5e...d1e62d
ee228f...85c375 & ea7e20...5e9702
a266be...17bd5f & 323308...d0d168
48e2b1...a2517e & f6fb5f...c2ab76
0451d2...71ab05 & f25041...bc4c1e
R2
1caa86...85160c & e0cc1d...103873
207680...349016 & ce1fc0...396c68
9c8e82...d47561 & 18e777...ef883c
960995...fc696f & 965344...4e5558
a200cc...15504b & aa01b5...ec202f
R3
ceb0ba...7a4b1e & 2c88ed...145857
ec1ceb...663131 & 40e24d...fb6545
483e80...0cec60 & 14a0d1...6a6858
6a2d0c...52770e & a6b2a0...6c785d
62d77e...31d62e & 88548e...e8e161
Email Service 3 uses M, R3 to build a shuffled and encrypted table B.
M
7cdc06...492d72
e89709...e6c650
387a2b...f53d5b
00dee8...4adf32
b8e024...6a7133
R (created by Service 3)
ceb0ba...7a4b1e & 2c88ed...145857
ec1ceb...663131 & 40e24d...fb6545
483e80...0cec60 & 14a0d1...6a6858
6a2d0c...52770e & a6b2a0...6c785d
62d77e...31d62e & 88548e...e8e161
B
ceb0ba...7a4b1e & 777378...d965a8
483e80...0cec60 & 9f2aa6...b236e1
6a2d0c...52770e & d685f3...2222b5
62d77e...31d62e & 6a24b0...40bd84
ec1ceb...663131 & b9346e...84faaf
Intelligence Community computes the intersection size using B and the blinding key .