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)
raccoo_1159@email4.com
twin_973@email2.com
theme1654@email4.com
cupboa1130@email1.com
favori_1688@email1.com
X1 (Email Service 1)
favori_1688@email1.com πΊπΈ
apart1565@email1.com πΊπΈ
gown.1892@email1.com πΊπΈ
apolog111@email1.com πΊπΈ
cupboa1130@email1.com πΊπΈ
X2 (Email Service 2)
obviou1503@email2.com πΊπΈ
simple656@email2.com πΊπΈ
twin_973@email2.com πΊπΈ
feel.122@email2.com πΊπΈ
povert.107@email2.com πΊπΈ
X3 (Email Service 3)
shield.579@email3.com πΊπΈ
crowd1003@email3.com πΊπΈ
image_1228@email3.com πΊπΈ
rapid_330@email3.com πΊπΈ
flush_1324@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
40f618...b4a52e
d6c797...e9f237
4688c3...9e5b20
7a49ed...0d8a50
26a578...e01a6e
R1
5e7fa0...dbbd74 & daf75c...448753
d0b0d4...9c4620 & 0a84c7...189e13
d8ef76...70d361 & 125b2d...2f7557
ee5033...62b95f & 10e1ac...c4320e
9e3af5...9b7b63 & 4e0f6c...281c3b
R2
e88b68...89583c & 685a07...1ca32e
7817d2...15566f & dcc7c3...e71709
4c5c9e...d4184a & 5ec252...1ed263
34e5d9...c65c49 & 0ef416...5e7c65
16a075...c5e072 & a07b04...7bb05f
R3
164471...bc804a & 668ae2...590e05
7059bb...967618 & 2246c6...293338
6825a5...bcd020 & 542acf...448625
3c1d47...04a173 & 4c75ab...af8257
6c15e2...f4551e & ba7883...3d8709
Email Service 3 uses M, R3 to build a shuffled and encrypted table B.
M
40f618...b4a52e
d6c797...e9f237
4688c3...9e5b20
7a49ed...0d8a50
26a578...e01a6e
R (created by Service 3)
164471...bc804a & 668ae2...590e05
7059bb...967618 & 2246c6...293338
6825a5...bcd020 & 542acf...448625
3c1d47...04a173 & 4c75ab...af8257
6c15e2...f4551e & ba7883...3d8709
B
6c15e2...f4551e & c7462f...7b7077
164471...bc804a & 2e125c...19ae2d
3c1d47...04a173 & 47ae17...537830
6825a5...bcd020 & fb9bdf...f09963
7059bb...967618 & 8dcc2c...32dc0a
Intelligence Community computes the intersection size using B and the blinding key .