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)
exile_1531@email3.com
romanc1203@email2.com
eyebro21@email4.com
luxury.1667@email4.com
lawn_1430@email2.com
X1 (Email Service 1)
soccer_6@email1.com πΊπΈ
urge.1693@email1.com πΊπΈ
trumpe_684@email1.com πΊπΈ
prepar.1192@email1.com πΊπΈ
trip_716@email1.com πΊπΈ
X2 (Email Service 2)
lawn_1430@email2.com πΊπΈ
romanc1203@email2.com πΊπΈ
nasty488@email2.com πΊπΈ
burst_1751@email2.com πΊπΈ
boil_527@email2.com πΊπΈ
X3 (Email Service 3)
tank.1635@email3.com πΊπΈ
succes.200@email3.com πΊπΈ
follow.1905@email3.com πΊπΈ
usage_1924@email3.com πΊπΈ
exile_1531@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
12f9e2...95bc6d
86c3a3...dd8132
e4ffc3...a68e24
b04d0e...a7e010
78a9d8...d6955a
R1
925198...5fa51c & 189379...d9fb33
d0abef...68f248 & e41752...4a9e0b
206dc1...a69876 & c817d1...aab719
dce5d4...088c4e & ce6af8...e45a76
307127...2d2050 & f2e609...466f70
R2
aaf097...943b61 & c27fb5...536856
5876b0...33b42d & a6ce57...04993e
e2df84...a75776 & 92b29c...826372
6ed72c...65c02a & 78a836...e33f76
0c9fb6...20f068 & fe46c9...788d38
R3
a29ff4...46643c & 002740...a0ec1f
fef992...85cb45 & 68bf72...30ea7d
aa4ce1...d6de29 & d0149b...ce036e
9212dd...db816d & ba8eba...28e542
602226...126b66 & 8a5ecd...126471
Email Service 3 uses M, R3 to build a shuffled and encrypted table B.
M
12f9e2...95bc6d
86c3a3...dd8132
e4ffc3...a68e24
b04d0e...a7e010
78a9d8...d6955a
R (created by Service 3)
a29ff4...46643c & 002740...a0ec1f
fef992...85cb45 & 68bf72...30ea7d
aa4ce1...d6de29 & d0149b...ce036e
9212dd...db816d & ba8eba...28e542
602226...126b66 & 8a5ecd...126471
B
fef992...85cb45 & a7dfd8...9bb9e1
602226...126b66 & b56498...8fa61c
a29ff4...46643c & b80e7e...79ed98
9212dd...db816d & 9fc15d...5d95a2
aa4ce1...d6de29 & 86a148...669a96
Intelligence Community computes the intersection size using B and the blinding key .