Expand description
Shared types and constants for the PIR subsystem.
Wire types are serialized over HTTP between pir-server and pir-client.
Tier-layout constants define the data-format contract shared by all crates
(export, server, client, test).
The default feature set is lightweight (only serde). Enable the reader
feature to get tier-data parsers ([tier0::Tier0Data], [tier1::Tier1Row],
[tier2::Tier2Row]) and Fp serialization helpers ([fp_utils]).
Structs§
- Health
Info - Health check response returned by
GET /health. - PirMetadata
- Metadata written to
pir_root.jsonalongside the tier files. - Root
Info - Root hash and metadata returned by
GET /root. - Ypir
Scenario - Parameters describing a YPIR database scenario.
Constants§
- PIR_
DEPTH - Depth of the PIR Merkle tree.
- TIER0_
LAYERS - Number of layers in Tier 0 (root at depth 0 down to subtree records at depth 9).
- TIER1_
ITEM_ BITS - Tier 1 item size in bits (for YPIR parameter setup).
- TIER1_
LAYERS - Number of layers in each Tier 1 subtree (depth 9 to depth 15).
- TIER1_
LEAVES - Number of leaves per Tier 1 subtree (at relative depth 6 = global depth 15).
- TIER1_
ROWS - Number of Tier 1 rows (one per depth-9 subtree).
- TIER1_
ROW_ BYTES - Byte size of one Tier 1 row: 64 × 64 (leaf records only).
- TIER1_
YPIR_ ROWS - Number of rows in the Tier 1 YPIR database (padded to YPIR minimum).
- TIER2_
ITEM_ BITS - Tier 2 item size in bits (for YPIR parameter setup).
- TIER2_
LAYERS - Number of layers in each Tier 2 subtree (depth 15 to depth 25).
- TIER2_
LEAF_ BYTES - Byte size of each Tier 2 leaf record: 3 field elements for punctured range
[nf_lo, nf_mid, nf_hi]. - TIER2_
LEAVES - Number of leaves per Tier 2 subtree (at relative depth 10 = global depth 25).
- TIER2_
ROWS - Number of Tier 2 rows (one per depth-15 subtree).
- TIER2_
ROW_ BYTES - Byte size of one Tier 2 row: 1,024 × 96 (leaf records only).
- YPIR_
MIN_ ROWS - YPIR SimplePIR requires at least 2048 rows (
poly_len). When TIER1_ROWS is smaller, the YPIR database is padded with zero rows up to this minimum.
Functions§
- serialize_
ypir_ query - Serialize a YPIR SimplePIR query into the wire format expected by
pir-server.