- Three terminals: Bob, C1, C2
- The database, a CSV file of integers
- C2:
- Run
./keys.py --name testk
to interactively generate a Paillier key pairtestk.private.json
andtestk.public.json
. - Run
./database.py --name testdb --key testk.public.json
to encrypt your database intotestdb.enc.csv
; make this accessible to C1.
- Run
- Bob:
- Run
./server.py
to start the server.
- Run
- C2:
- Run
./client.py -s testk.private.json -o c2
to start client C2.
- Run
- C1:
- Run
./client.py 49557 -o c1
to start client C1.
- Run
- Bob:
- Enter your query Q, a set of space-separated values, the same width as a database row.
- Enter k, the number of results.
- C1:
- Enter the database name
testdb.enc.csv
- Enter the database name
- Bob:
- Choose the output method for the result.
p
to print,c
for CSV.
- Choose the output method for the result.