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)
nature1567@email2.com
since_1147@email4.com
topic1938@email4.com
whip.1040@email1.com
party2003@email3.com
X1 (Email Service 1)
whip.1040@email1.com πΊπΈ
fee_1850@email1.com πΊπΈ
file_640@email1.com πΊπΈ
weeken325@email1.com πΊπΈ
quick.171@email1.com πΊπΈ
X2 (Email Service 2)
chase.627@email2.com πΊπΈ
nature1567@email2.com πΊπΈ
pilot18@email2.com πΊπΈ
improv2016@email2.com πΊπΈ
siblin1705@email2.com πΊπΈ
X3 (Email Service 3)
party2003@email3.com πΊπΈ
use1150@email3.com πΊπΈ
jelly.1228@email3.com πΊπΈ
budget.747@email3.com πΊπΈ
ozone_750@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
e29bbc...8c0a62
646195...524b39
c2c68e...4fc01d
36c053...284624
52427c...2fef57
R1
44f0b1...8b7137 & 38b725...4e9b4f
7c8101...247607 & 6ccf30...9f305c
0ec1ea...d9997d & d8f6fa...131374
0c92a7...56fe5f & b43555...3d156b
90b9a1...23774e & 34dc48...ab783a
R2
bee9a7...22961d & 7ca91d...19d74c
9aad37...e4607c & 04c326...16021e
0c0c48...70f824 & be85e1...39a93e
c27ed8...616271 & f2a957...65b80c
0addb7...31f27e & 3e3b92...445138
R3
88dd66...b34d51 & 2ef454...001f09
7440e3...756020 & 829061...73583a
388f1f...65cb40 & d4547f...336a56
388461...2b8674 & 3cb237...74fd16
e23833...c0af28 & d6d648...8c8819
Email Service 3 uses M, R3 to build a shuffled and encrypted table B.
M
e29bbc...8c0a62
646195...524b39
c2c68e...4fc01d
36c053...284624
52427c...2fef57
R (created by Service 3)
88dd66...b34d51 & 2ef454...001f09
7440e3...756020 & 829061...73583a
388f1f...65cb40 & d4547f...336a56
388461...2b8674 & 3cb237...74fd16
e23833...c0af28 & d6d648...8c8819
B
7440e3...756020 & 66c70a...12d524
388f1f...65cb40 & 8968fd...a9da57
e23833...c0af28 & 95646f...8c1784
388461...2b8674 & 10a188...c32cdb
88dd66...b34d51 & 73a8a4...1bae86
Intelligence Community computes the intersection size using B and the blinding key .