A demo of this work that enables access to Wikipedia over PIR is available at https://spiralwiki.com. This is an implementation of our paper "Spiral: Fast, High-Rate Single-Server PIR via FHE Composition", available here.
WARNING: This is research-quality code; it has not been checked for side-channel leakage or basic logical or memory safety issues. Do not use this in production.
- In
spiral-rs/spiral-rs:- To run an end-to-end test for a database with 2^20 elements of size 256 bytes, run
cargo run --release --bin e2e 20 256. - To build the library
spiral-rs, runcargo build --release. - To run the library tests, run
cargo test. - To build the server, run
cargo build --release --bin server --features server. - To preprocess a database, run
cargo run --release --bin preprocess_db dbfile.db dbfile.dbp. - To run the server, run
target/release/server dbfile.dbpwith the preprocessed database filedbfile.dbp
- To run an end-to-end test for a database with 2^20 elements of size 256 bytes, run
- In
spiral-rs/client:- To build the client for our Wikipedia demo, run
wasm-pack build --target web --out-dir static/pkg
- To build the client for our Wikipedia demo, run