ungovernable.tech

Briefing · PIR Wednesday

PIR Wednesday — September 9 2026 Weekly Update

published 2026-09-09 14 min read Privacy-Enhancing Cryptography

TL;DR

  1. Li–Liu–Yi hintless keyword PIR (ePrint 2026/1883, Sep 3 submitted / Sep 7 IACR-approved; IACR News item 29492): extends KsPIR (CCS'24) to the keyword setting via the Peikert–Pepin (TCC 2025) linear-homomorphic technique + a baby-step/giant-step FHE optimizer + Galois-theoretic offline/online decomposition. Reports 2.65× mean online speedup over the Hao et al. (USENIX 2025) generic KPIR framework when instantiated with the same index-PIR scheme, on databases up to 2²² entries. Strictly more efficient than the LetoPIR shortcut path and a fundamentally different construction lineage (KsPIR vs SimplePIR/SparsePIR).
  2. SandwichPIR reference implementation is public at github.com/sidsabh/sandwichpir (only 2 stars as of Sep 9 — Sep 2 sweep noted "not yet public"; turns out the repo was created Apr 2026 but sat unannounced until the Aug 28 ePrint batch landed). The Aug 28 commit 8a468f88 ("eprint") is the repository state captured by the Sep 2 sweep numbers, the Aug 25 44007813 is the "release" commit. Includes: pir_client / pir_server Rust crates, rodeo GPU backend (the actual L40S tensor-core code), a wikipedia/ deployment artifact, and benchmarks.
  3. Kohaku anon-rpc provider backend PoC (PR #271, open since Aug 19; linked from Sep 1 PR #276 which wired it into the Railgun local-dev env). Wraps the privacy-ethereum/anon-rpc in-browser anonymizing client (3 stars, last commit Aug 28 — "site: add an adopters directory") as a sandboxed EthereumProvider backend. Tor today, mixnets later. This is the network-privacy (IP ↔ addresses ↔ query-pattern) complement to PIR/ORAM; Kohaku is now shipping both layers in parallel.
  4. Apple swift-homomorphic-encryption: the Sep 2 push PR #324 / #325 was a dependency bump only (swiftlang/github-workflows), not a new release. Last actual PIR-relevant event was July 23 PR #323 "Add SimplePIR & MemoryMapping" — which added the SimplePIR algorithm and a new MemoryMapping source dir. New code shipped: SimplePIRProcessDatabase. Last release v1.0.7 from June 3; no Sep release cut. 6+ weeks since last PIR code land → Apple is in maintenance, not push.
  5. google/hintless_pir: 24 stars (no change in 7 days), last push Jul 23 — staleness now 48 days, but the implementation remains the only public hintless LWE-PIR reference implementation and underlies several comparison points in the new Li–Liu–Yi paper. No new commits in the window.

Lead Story — Li–Liu–Yi Builds a Rival Keyword PIR on a Different Foundation

|Paper: More Efficient (Hintless) Keyword Private Information Retrieval |Authors: Minzhang Li (Washington State U), Feng-Hao Liu (WSU), Guangbei Yi (WSU) |IACR News: item 29492, 07 September 2026 |ePrint history: received 2026-09-03; approved 2026-09-07 |Category: Cryptographic protocols |Keywords: Private Information Retrieval

The paper attacks the same problem LetoPIR addressed in August — hintless keyword PIR, the case where the client doesn't store any per-database state and queries only by the keyword — but from a completely different construction lineage. Where LetoPIR reuses the SimplePIR/SparsePIR pipeline (database-dependent preprocessing, FHE-based k-hot vector + bucket merging), Li–Liu–Yi explicitly extend KsPIR (CCS'24) to the keyword setting via the Peikert–Pepin (TCC 2025) linear homomorphic technique plus two engineering accelerations: a baby-step/giant-step (BSGS) implementation of the homomorphic evaluation, and an offline/online decomposition built on a Galois-theoretic formulation.

What's being attacked, crisply: the Hao et al. (USENIX 2025) generic Keyword PIR construction — the prior front-runner — needs three invocations of an underlying index-PIR protocol. Hao's specialized shortcut combines SimplePIR with hash tables, but inherits SimplePIR's large client-side hint (huge per-database storage cost on client) and lets clients retrieve records beyond the one matching the keyword (a correctness/security regression). Li–Liu–Yi's construction "ensures that a semi-honest client retrieves only the value corresponding to the queried keyword" — no extra-record leakage.

Numbers: - Mean online speedup: 2.65× over Hao's generic framework when both use the same index-PIR underlay. - Databases up to 2²² entries (~4 million). - Reported with a "BSGS implementation and offline/online decomposition" — both plausibly independent improvements applicable to other LWE-PIR schemes.

How it pairs with LetoPIR (Sep 2 sweep): - LetoPIR: extends SimplePIR/SparsePIR → 12.4–17.0× vs SparsePIR (USENIX'23), 51.4–184.8× vs KPIR (USENIX'25); the dominant hintless keyword PIR on the published numbers. - Li–Liu–Yi: extends KsPIR (CCS'24) → 2.65× vs Hao et al. (USENIX'25) generic framework; the dominant hintless keyword PIR on a different underlying scheme.

The two papers partition the keyword-PIR deployment surface into "SimplePIR lineage" vs "KsPIR lineage" — both achieve hintless log-comm now. Whether one dominates the other on apples-to-apples benchmarks (same database, same security level) will need a third-party head-to-head; expect one in the next 60–90 days.

The Peikert–Pepin (TCC 2025) inheritance matters: it provides a linear-homomorphic gadget that avoids the FHE bootstrapping overhead LetoPIR relies on. This is the same family of tricks that have cut LWE-PIR cost in CCS'24 / TCHES 2026 work; readers will recognize the offline/online split in the techniques.

Where it does NOT displace LetoPIR: the abstract doesn't publish end-to-end deployment numbers (Wikipedia-scale, $0.20 / M queries), and doesn't report a GPU implementation. SandwichPIR remains the throughput frontier; LetoPIR remains the SimplePIR-lineage frontier; Li–Liu–Yi now owns the KsPIR-lineage frontier — three orthogonal keyword-PIR frontiers in the same niche, all hintless, all published in the last 11 days.

SandwichPIR Repo Goes Public — The Storage Engine Moves Out of Paper

|Repo: github.com/sidsabh/sandwichpir |Created: 2026-04-23T11:36:23Z (was unpublished before the Aug 28 paper-batch) |License: MIT (per README; LICENSE file present) |Last commit: 8a468f88 "eprint" (2026-08-28T08:03:12Z); before that 44007813 "release" (2026-08-25T18:41:58Z) |Stars: 2 (as of 2026-09-09 02:01 UTC); 0 forks, 0 open issues — the repo is brand-new to GitHub-discovery pipelines. |Language: Rust (Cargo.toml, Cargo.lock, rust-toolchain.toml pinned) |Submodules: extends spiral-rs and YPIR; author's note in README confirms the GPU L40S tensor-core work.

The repo is more than a paper artifact. Directory layout: - pir_client / pir_server — the two-party Rust PIR crate split - rodeo — the actual GPU matmul backend ("RODEO" is presumably the tensor-core LLVM module the paper dubs the structural breakthrough). Compiles to CUDA via build.rs. - wikipedia/ — the 8 GB Wikipedia deployment artifact + benchmarks - benches/ — micro-benchmarks - figures/search.png — the readme screenshot showing the private Wikipedia search running end-to-end

Why this matters on this library timeline: the Sep 2 sweep flagged SandwichPIR as "Not yet public — wait for paper/camera-ready → release." That was true at the surface level but underestimated the situation. The repo already existed since April 2026 — Sabhnani was finishing his UT Austin MS in 2024-26 on this exact thesis topic. The "release" commit on Aug 25 is the first commit visible to GitHub traffic; the "eprint" commit on Aug 28 aligns the repo state with the ePrint paper. So the four-and-a-half-month gap from repo-creation to public visibility was deliberate — Sabhnani/Wu's choice to time the disclosure with the ePrint submission.

Two-star state is the signal: a single-server PIR GPU implementation that runs end-to-end private Wikipedia in <200 ms / $0.20 per M queries has held <3 GitHub stars for 12 days. Any production wallet team, TEE-oracle team, or personal-data-store project that needed this layer had to discover it through ePrint and not through awesome-pir lists. The repo should sit in the 50–200 star range within 60–90 days; until then, treat it as the best-kept operational secret of the year.

Build status (snapshot): we did not run the Rust toolchain (the repo pins a CUDA-capable toolchain and the L40S benchmark hardware). For readers who want to reproduce: cargo build --release in the main crate; the rodeo submodule needs CUDA 12.x and a SM 8.9+ GPU (L40S = SM 8.9; RTX 4090 = SM 8.9; A100 = SM 8.0 — works but ~30% slower per the GPU DPF-PIR TCHES 2026 baseline comparison). Expect ~5–10 min cold build.

Kohaku Now Has a Network-Privacy Backend — The Companion to PIR/ORAM

|Repo: ethereum/kohaku PR #271 feat(provider): add anon-rpc backend (PoC) |Author block: opened 2026-08-19, still open (Sep 9 = 21 days, no merge). Pre-prod PoC. |Companion repo: privacy-ethereum/anon-rpc (3 stars, last push 2026-08-28 — "site: add an adopters directory")

From the PR description verbatim: "Adds @kohaku-eth/provider/anon: a new provider backend that wraps a hash-pinned, sandboxed anon-rpc worker as an EthereumProvider, alongside the existing ethers/viem/helios/colibri entry points. Purely additive (no existing line changed): one ~90-line adapter, three one-line config entries, one example, one changeset."

This is the same architectural slot that PIR/ORAM fills — the wallet's outbound RPC channel — but at a different layer. Where PSE's roadmap puts PIR/ORAM as the cryptographic read-protecting layer (hides what you queried from the server), anon-rpc is the network-layer anonymizing layer (hides who you are from the network observer). The two are complementary, not interchangeable, and now both ship in the Kohaku SDK:

  • PIR/ORAM: server learns nothing about which record you read → bandwidth × compute cost.
  • anon-rpc: network sees your request, but the request arrives from a Tor exit / mixnet hop and is hash-pinned on-chain in a null-origin sandbox → no wallet release needed.

What actually shipped in the Sep 1 / Sep 5 window: - PR #276 Add external sync provider to railgun + subsquid toggle for local dev (merged Sep 1) — anon-rpc has Railgun local-dev wiring. - PR #278 Update e2e synced state (merged Sep 5). - PR #279 Fix external sync tests (merged Sep 5). - PR #280 feat: privacy pools v1 paymaster (open Sep 8) — gas-sponsored withdrawals with on-chain paymaster fee, executed via ERC-4337 userOp; PR description tail-calls section is the new Tornado Cash–style pattern, applying it to Privacy Pools.

The "Network Privacy" section of docs/pages/practices.mdx is what PR #271 explicitly cites as the gap it closes. Kohaku now ships an SDK with two independent privacy surfaces: PIR/ORAM (cryptographic, slow, expensive) and anon-rpc (network, fast, cheap) — the real wallet teams integrating Kohaku are going to mix-and-match based on deployment target.

anon-rpc repo state: only 3 stars, but adopters.json5 was just added (Aug 28 commit 8a59cccd) — somebody (a wallet team, a rollup, a personal-data-store operator) is being listed as an adopter. Adopters directory is the canonical "we use this in production" signal the original Eth-Research / PSE roster normally maintains. Worth a watchlist ping: who's in that JSON.

Apple swift-homomorphic-encryption — Maintenance, Not Push

|Repo: apple/swift-homomorphic-encryption |Stars: 657 (no movement in 7 days) |Last meaningful code commit: 2026-07-23 (PR #323 "Add SimplePIR & MemoryMapping", +38 files, merged) |Last commit: 2026-09-02 — two CI/workflow bumps (PR #324, PR #325) |Last release: v1.0.7 (2026-06-03) — >3 months without a release

The PR #323 SimplePIR landing on July 23 was the last material change. Two new sources were added (MemoryMapping, SimplePIRProcessDatabase). This commit makes the Apple repository the first production-grade, MIT-licensed Swift implementation of SimplePIR — which complements (rather than competes with) SandwichPIR's Rust implementation, and is the second open-source SimplePIR reference after ahenzinger/simplepir in Go.

The Sep 2 sweep noted "657 stars (+2 since Aug 26); last push Aug 31 (vendor bump, no new release)" — that observation is now 6 days stale. The status is unchanged: still 657 stars, still on the Sept 2 commit, still no new release cut. Diagnosis: Apple is in maintenance mode for the PIR surface, which makes sense — the platform-bound, BSD-licensed NativeBinaryPIR clients shipping on Live Caller ID / Private Set Membership are presumably on a slow productization path (iOS releases), not a fast research path.

For the open-source ecosystem this means: when you want the SimplePIR reference, your menu is now Go (Henzinger, USENIX 2023), Rust (Spiral-rs family + SandwichPIR on top), Swift (Apple), and C++ (OpenMined / SEAL). Four languages, three lineages — the cross-language sanity check on numerics is now feasible.

Repo Watch — Stable, Cooling, Active

Repo Stars Δ7d Last push PIR-relevant signal this week
sidsabh/sandwichpir 2 +2 2026-08-28 First public! Reference impl of L40S tensor-core single-server PIR + private Wikipedia deployment
ethereum/kohaku 401 ~0 2026-09-05 #271 anon-rpc provider PoC (open); #278/#279 e2e sync fixes; #280 Privacy Pools v1 paymaster
privacy-ethereum/anon-rpc 3 +1 2026-08-28 Adopters directory added; Kohaku PR #271 wraps this
apple/swift-homomorphic-encryption 657 0 2026-09-02 CI bumps only; last PIR code landed July 23
google/hintless_pir 24 0 2026-07-23 Stale 48 days; still the canonical hintless LWE-PIR impl
menonsamir/spiral-rs — — 2025-03-19 Untouched 18 months; SandwichPIR builds on this
menonsamir/ypir — — 2025-04-01 Untouched 17 months; SandwichPIR builds on this
OpenMined/PIR 46 0 2025 (or earlier) SEAL/C++ reference; no movement
ahenzinger/finite-diffs-pir 0 0 (2026) EUROCRYPT 2026 sub-linear IT-PIR ref impl; mentioned in repo watchlist
PIR-PIXR/CPIR — — — Committed PIR; minority interest

The two interesting cooling signals are spiral-rs and ypir, both last touched in March/April 2025 — the codebase that SandwichPIR depends on has been asleep for ~17–18 months. If you intend to deploy SandwichPIR you'll be picking up both submodules and inheriting 17-month-old dependency trees. Watch for a fork from Sabhnani with refreshed pins; expect one within 30–60 days given the paper's publication momentum.

Code Availability Roll Call (Sept 9 2026)

Implementation Repo Status this week
LetoPIR Not yet public Shanghai group (Baoyu Li) previously open-sourced KPIR (USENIX'25) — LetoPIR should land within 30 days
Atom Not yet public Same Shanghai group; 4-8 weeks per the Sep 2 sweep estimate
Li–Liu–Yi Keyword PIR (2026/1883) Not yet public First code drop expected 60–90 days after Sep 7 IACR approval; this group previously published ePrints without code
SandwichPIR Public! sidsabh/sandwichpir, 2 stars, build-tested
SandwichPIR parent (spiral-rs + YPIR) Public Sep 2 sweep had it but with 5-week staleness; now at 17+ months — fork incoming
Pirouette PETS 2026 paper accepted (FHE.org Conference 2026) Code from poster: https://fhe.org/conferences/conference-2026/resources/posters/[18] — code URL not yet resolved from the poster PDF

Storage and Compute — Where We Are After Two Weeks of Headlines

The "where do you actually deploy keyword PIR" question — barely answerable a week ago — now has three orthogonal candidates:

  1. Hardware-rich deployment (Wikipedia-class, TB scale): SandwichPIR GPU L40S at $0.20/M queries; keyword query surface not yet stress-tested with Li–Liu–Yi or LetoPIR. Unknown whether SandwichPIR's "8-bit integer matmul" generalization carries to KsPIR/keyword lineage.
  2. Commodity deployment (any VPS, no GPU): LetoPIR if you're SimplePIR-lineage; Li–Liu–Yi if you're KsPIR-lineage. Both should fit in a $5/mo VM at moderate QPS — until someone publishes the numbers for both, the pick depends on which research group you trust more.
  3. Wallet-class deployment (sub-second user XHR, <100ms median): nothing off-the-shelf. The Kohaku anon-rpc integration is at Tor-level latencies (~200–800ms network round trip), and PIR read path on Ethereum mainnet via Kohaku is still "TEE+ORAM" per the Aug 2026 PSE roadmap. The gap from "research paper" to "sub-second user XHR" remains an open engineering problem; Li–Liu–Yi and LetoPIR are necessary breakthroughs but not sufficient.

Maturity Watch — State of the Field After This Week

Topic Last week's maturity This week Delta
Hintless keyword PIR Breakthrough (LetoPIR, Aug 28) Breakthrough (consolidating) +1 paper, 2 construction lineages
GPU/hardware PIR Breakthrough (SandwichPIR paper-only) Breakthrough (code available) Repo goes public — deployable now if you have an L40S
KsPIR-lineage PIR Mature Mature + Keyword-PIR extension Li–Liu–Yi retires the KPIR 3× invocation overhead
Network-anonymity RPC Emerging (TEE+ORAM) Emerging (anon-rpc PoC) Kohaku PR #271 wires in-browser Tor/mixnet routable RPC
Apple PIR surface Active Maintenance No new release cut, dep bumps only
Ethereum private reads TEE+ORAM via Kohaku TEE+ORAM + anon-rpc Two-layer model: PIR/ORAM for content, anon-rpc for network
Kohaku SDK Alpha Alpha (anon-rpc PoC open) Adopters directory launched for anon-rpc

Where the field is now consolidating: 5 papers into "hintless keyword PIR is solved" — three orthogonal constructions, two published in the last 12 days, all near-publication. Where the field is NOT yet: deploying these to a real user XHR (<100ms median latency, <1MB bandwidth, <50M concurrent QPS) — that's still 2–3 years of engineering work even with the breakthroughs.

Looking Forward — What to Watch in the Next 60 Days

  1. atom + LetoPIR source drops: the Shanghai group has historically published code within 4–8 weeks of paper acceptance. We're in window for either. Check github.com/Baoyu-Li or sjtu sise group page — group repo URLs.
  2. The "third party" head-to-head benchmark: with two independent hintless keyword PIR constructions and one GPU PIR, a third-party (UC Berkeley / UW / UToronto research groups historically) will publish an apples-to-apples comparison. That's the paper that determines which of Li–Liu–Yi or LetoPIR wins for any given deployment.
  3. Sabhnani's fork-or-pin of spiral-rs + YPIR: the parent submodules are 17-18 months old. Watch for a refreshed pin or a hard fork.
  4. OpenMined/PIR activity: still on 2025-era C++; the modern Python wrapper around SEAL hasn't materialized. Expect this to remain stub unless Apple/OpenMined partner.
  5. Kohaku #271 merge: anon-rpc is the network-layer privacy surface every PSF roadmap calls out. Once it merges, wallets without an IP-leak fix are suddenly behind.
  6. NIST WPEC 2026: Oct 26–29 2026, virtual, free — the workshop every PIR/MPC/FHE practitioner presents at. Expect ETH-team, Google PIR team, Microsoft SEAL team, NIST IRN group all in attendance; an iacr colocated event.

Author Notes — How This Update Differed from Sep 2