Skip to main content

Crate inspire

Crate inspire 

Source
Expand description

InsPIRe: Communication-Efficient PIR with Server-side Preprocessing

This crate implements the InsPIRe PIR protocol from the paper: “InsPIRe: Communication-Efficient PIR with Server-side Preprocessing”

Key components:

  • InspiRING: Novel ring packing algorithm (LWE → RLWE) using only 2 key-switching matrices
  • Homomorphic polynomial evaluation for reduced response size
  • CRS model for server-side preprocessing

Re-exports§

pub use pir::encode_column;
pub use pir::encode_database;
pub use pir::encode_direct;
pub use pir::extract;
pub use pir::extract_inspiring;
pub use pir::extract_two_packing;
pub use pir::extract_with_variant;
pub use pir::inverse_monomial;
pub use pir::query;
pub use pir::query_seeded;
pub use pir::respond;
pub use pir::respond_inspiring;
pub use pir::respond_one_packing;
pub use pir::respond_seeded;
pub use pir::respond_seeded_inspiring;
pub use pir::respond_seeded_packed;
pub use pir::respond_seeded_with_variant;
pub use pir::respond_with_variant;
pub use pir::setup;
pub use pir::ClientQuery;
pub use pir::ClientState;
pub use pir::EncodedDatabase;
pub use pir::InspireCrs;
pub use pir::PackingMode;
pub use pir::SeededClientQuery;
pub use pir::ServerCrs;
pub use pir::ServerResponse;
pub use pir::ShardData;
pub use pir::load_shard_binary;
pub use pir::respond_mmap;
pub use pir::respond_mmap_inspiring;
pub use pir::respond_mmap_one_packing;
pub use pir::save_shards_binary;
pub use pir::MmapDatabase;
pub use params::InspireParams;
pub use params::InspireVariant;
pub use params::SecurityLevel;

Modules§

cost
Cost Attribution Estimator
ethereum_db
Ethereum database integration for InsPIRe PIR
inspiring
InspiRING: Ring packing algorithm for InsPIRe PIR
ks
Key-switching module
lwe
LWE (Learning With Errors) encryption module.
math
Mathematical primitives for InsPIRe PIR.
params
Parameter sets for InsPIRe PIR
pir
InsPIRe PIR Protocol Implementation
rgsw
RGSW (Ring-GSW) encryption module
rlwe
RLWE (Ring Learning With Errors) encryption module