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)
tent2045@email4.com
calm_78@email1.com
ketchu_356@email1.com
exist_1018@email2.com
balcon720@email4.com
X1 (Email Service 1)
ketchu_356@email1.com πΊπΈ
hazard.1071@email1.com πΊπΈ
cherry.1196@email1.com πΊπΈ
cat740@email1.com πΊπΈ
calm_78@email1.com πΊπΈ
X2 (Email Service 2)
exist_1018@email2.com πΊπΈ
rely.1420@email2.com πΊπΈ
uncle.1717@email2.com πΊπΈ
audit1913@email2.com πΊπΈ
volcan_26@email2.com πΊπΈ
X3 (Email Service 3)
noodle314@email3.com πΊπΈ
alter1733@email3.com πΊπΈ
lift933@email3.com πΊπΈ
bounce961@email3.com πΊπΈ
displa_1916@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
800687...2c955e
122df5...73d16f
12e24d...ae3070
78d637...87d60a
5c8213...f86863
R1
d8c033...3ac238 & 30c1e6...55cf71
bc9f43...96ca0d & a6853a...c6870d
e0d693...3d1e78 & cae029...981b2d
ea6c3b...0f5f08 & d8856c...570855
4e8c28...28110f & 22a58d...ddb45a
R2
60c578...d2fd53 & be1b6b...bea600
e6ba06...214a77 & 4eb89f...add65b
da6136...eb1a31 & c89236...669551
8496d9...809c30 & 7a3f79...61ae5e
2a872e...c0b53d & c847f0...4b3552
R3
64bf37...a1425d & 6ccce1...adf924
40fe01...80ef52 & 9e3037...85d546
0447fa...e9a54b & e8f7ce...333b74
446e98...385f16 & 8e5cc8...aaa349
0e13b4...c77e0a & def9a9...fff84a
Email Service 3 uses M, R3 to build a shuffled and encrypted table B.
M
800687...2c955e
122df5...73d16f
12e24d...ae3070
78d637...87d60a
5c8213...f86863
R (created by Service 3)
64bf37...a1425d & 6ccce1...adf924
40fe01...80ef52 & 9e3037...85d546
0447fa...e9a54b & e8f7ce...333b74
446e98...385f16 & 8e5cc8...aaa349
0e13b4...c77e0a & def9a9...fff84a
B
40fe01...80ef52 & dc57d0...354f3c
64bf37...a1425d & 5fe800...be40ad
0e13b4...c77e0a & 57c679...f75d8a
446e98...385f16 & d71ff0...ebce49
0447fa...e9a54b & 23a7a8...1f27ff
Intelligence Community computes the intersection size using B and the blinding key .