VIA — Communication-Efficient Single-Server PIR

A pure-Rust implementation of the VIA family · paper: Liu, Wang & Zhang (2025)

Private Information Retrieval lets a client fetch the i-th record of a server-held database while keeping i hidden from the server — from a single server, with no non-collusion assumption. VIA does this with a logarithmic-depth DMux tree for query expansion and (in VIA-C) a low-noise LWE→RLWE conversion for query compression.

Intro to VIA

A from-first-principles explanation — no PIR or cryptography background assumed. What the noise budget is, why the DMux tree wins, how the query is compressed, and why each step works, built up as a chain of forced moves with worked examples and schematics.

Architecture

The VIA scheme as an abstract system for applied-cryptography engineers: a clickable map of the self-contained components, how they stack, how a query flows through them, and why the composition is complete and sound. The scheme, not the codebase.

Implementation details

The via-rs codebase as built: an architecture map of the five crates and the layered primitive stack, a primitive→paper cross-reference, and the build/test status.

Parameters

Three pages: the abstract (the knobs and the security/correctness tension, reconciled across paper, code, and review); the concrete — a derived, estimator-backed instantiation that provably clears ≥120-bit security while staying correct; and benchmarks measuring what that 120-bit point costs.

Audit

A severity-ranked correctness/security audit of VIA-C and VIA-B — paper-vs-code parameter and noise-budget divergences, each finding adversarially re-validated against the paper and the code pinned to a commit, with source links and citations.

Scope: VIA-C and VIA-B are implemented (VIA-B behind the via-b cargo feature); plain VIA is not yet implemented. See the repository and its README for build & test instructions.