citp / public-verification

Accountability mechanisms for the Apple PSI system described in Public Verification for Private Hash Matching.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Code for Public Verification for Private Hash Matching

Proof of External Approval of the Hash Set

Generate dummy data

cd bv && mkdir data && python3 generate_data.py <N> <tau> <|X|> ./data

Run benchmarks

go test -timeout 300m -bench BV
go test -bench QuickVerifier

Guaranteed Eventual Detection Notification

Requires docker

Build and run docker container.

cd ev && bash build.sh && bash run.sh

Then switch directories (in the docker container) and run benchmarks

cd emp/emp-ag2pc
./run ./bin/test_benchmark 12345

Proof of Non-Membership in the Hash Set

Run benchmarks (both interactive and non-interactive proofs)

cd nm && go test -bench NM

Run benchmarks (only non-interactive proof)

cd nm && go test -bench NMFS

About

Accountability mechanisms for the Apple PSI system described in Public Verification for Private Hash Matching.


Languages

Language:Go 47.9%Language:C++ 25.7%Language:Python 12.2%Language:Shell 7.8%Language:Vim Script 3.6%Language:Dockerfile 1.8%Language:CMake 0.9%