A fork of https://github.com/menonsamir/spiral-rs

Ian Goldberg d6d546d056 Use interior mutability to allow multithreaded use of Client 2 years ago
.vscode 62283c0892 working ntt 2 years ago
client 2274e9df9a More threading, fix tests, update README 2 years ago
spiral-rs d6d546d056 Use interior mutability to allow multithreaded use of Client 2 years ago
.gitignore 1986d4cb16 working client 2 years ago
LICENSE e0be0c13c5 working client 2 years ago
README.md 0f9bdc1570 Update README.md 2 years ago
params_store.json 31bf0df166 Add support for nu_2=0, and e2e test binary 2 years ago

README.md

Spiral: Fast, High-Rate Single-Server PIR via FHE Composition

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.

Building

  • 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, run cargo 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.dbp with the preprocessed database file dbfile.dbp
  • In spiral-rs/client:
    • To build the client for our Wikipedia demo, run wasm-pack build --target web --out-dir static/pkg