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)
chimne_302@email4.com
royal.78@email2.com
juice1011@email2.com
bubble984@email3.com
survey_1907@email4.com
X1 (Email Service 1)
side_907@email1.com πΊπΈ
unhapp.241@email1.com πΊπΈ
sweet.501@email1.com πΊπΈ
biolog552@email1.com πΊπΈ
egg104@email1.com πΊπΈ
X2 (Email Service 2)
erase.1984@email2.com πΊπΈ
juice1011@email2.com πΊπΈ
scorpi.29@email2.com πΊπΈ
eight.2036@email2.com πΊπΈ
royal.78@email2.com πΊπΈ
X3 (Email Service 3)
clump_401@email3.com πΊπΈ
flash_101@email3.com πΊπΈ
bubble984@email3.com πΊπΈ
identi_1316@email3.com πΊπΈ
gentle.116@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
026763...0fb018
244604...737f61
8415f2...763915
360bbe...77c13b
1ed539...e9e946
R1
348e73...02140e & 6e8827...e40900
ecf661...0cae33 & a22b65...9c4028
f8ab57...870e45 & 3ad3ce...a56952
f6976b...8d9a3d & 7242fd...dfef45
9c3de2...f4772b & f2fa2c...88f173
R2
1c5de3...150905 & e8bb82...25d737
22e01a...029f0f & 4e469b...a05679
242b43...c5ed46 & 34aad0...f26f19
1ac47a...534c19 & 9e141c...5b4c69
78b882...d6ed04 & 7e952f...c4c51b
R3
706725...6efa2f & 70cc61...913b05
ea7fd4...89a76e & c8a0c2...741b3e
0ac4e5...407977 & 00ca34...75c33c
4e15f4...7df712 & ee8797...bc3e52
167b05...a7a949 & 281122...5ff305
Email Service 3 uses M, R3 to build a shuffled and encrypted table B.
M
026763...0fb018
244604...737f61
8415f2...763915
360bbe...77c13b
1ed539...e9e946
R (created by Service 3)
706725...6efa2f & 70cc61...913b05
ea7fd4...89a76e & c8a0c2...741b3e
0ac4e5...407977 & 00ca34...75c33c
4e15f4...7df712 & ee8797...bc3e52
167b05...a7a949 & 281122...5ff305
B
0ac4e5...407977 & 26fbea...7b4cc7
706725...6efa2f & 867646...2b21e7
167b05...a7a949 & 816cbb...95d7f6
4e15f4...7df712 & bbc97b...30f6f0
ea7fd4...89a76e & 118fe5...37c32d
Intelligence Community computes the intersection size using B and the blinding key .