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)
humble_990@email4.com
dash1131@email1.com
hard.345@email1.com
immens_1266@email3.com
hold_483@email4.com
X1 (Email Service 1)
stand921@email1.com πΊπΈ
valve1027@email1.com πΊπΈ
dash1131@email1.com πΊπΈ
rely589@email1.com πΊπΈ
hard.345@email1.com πΊπΈ
X2 (Email Service 2)
fever.1724@email2.com πΊπΈ
positi_425@email2.com πΊπΈ
step_1103@email2.com πΊπΈ
idea.1974@email2.com πΊπΈ
stable.1519@email2.com πΊπΈ
X3 (Email Service 3)
immens_1266@email3.com πΊπΈ
tired.736@email3.com πΊπΈ
econom1876@email3.com πΊπΈ
instal.296@email3.com πΊπΈ
clock.239@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
423151...a5122a
0a333f...622833
4cb6e7...a10f32
928016...ecc338
9a52ac...bca65b
R1
1e9e7e...1bce1a & dea9a4...84aa0b
6232e8...2dec1b & 4ae24b...34175a
8a483e...b31137 & 0aa7bc...da6367
ecf204...44ee77 & e652dd...f1d23c
564b88...cfd707 & b467eb...78bd16
R2
d018cd...f0175f & 2424fb...937b1f
101cb9...d5251f & 6ed642...651b2e
8cf592...187d7d & 604e43...cab82a
8648ac...46e216 & c8340d...abc126
a48986...9cef40 & dcf0e0...ffb309
R3
72ae6c...8bdf23 & 54e726...478d70
247cae...f5260f & 02ace3...a57218
8c3099...b3b10e & 5c2e7f...078133
5e1987...e9b83a & 8ea5c0...405a50
727f7f...e76d43 & 6c950a...b4df1e
Email Service 3 uses M, R3 to build a shuffled and encrypted table B.
M
423151...a5122a
0a333f...622833
4cb6e7...a10f32
928016...ecc338
9a52ac...bca65b
R (created by Service 3)
72ae6c...8bdf23 & 54e726...478d70
247cae...f5260f & 02ace3...a57218
8c3099...b3b10e & 5c2e7f...078133
5e1987...e9b83a & 8ea5c0...405a50
727f7f...e76d43 & 6c950a...b4df1e
B
247cae...f5260f & 1ef583...6b7dd4
5e1987...e9b83a & 136645...5eef9a
727f7f...e76d43 & 0ccdde...6f4b1c
8c3099...b3b10e & 3bbbd2...476bbc
72ae6c...8bdf23 & fa2c0f...a1b1de
Intelligence Community computes the intersection size using B and the blinding key .