Crate prio

source · []
Expand description

Libprio-rs

Implementation of the Prio private data aggregation protocol. For now we only support 0 / 1 vectors.

Modules

This module provides wrappers around internal components of this crate that we want to benchmark, but which we don’t want to expose in the public API.

The Prio v2 client. Only 0 / 1 vectors are supported for now.

Module codec provides support for encoding and decoding messages to or from the TLS wire encoding, as specified in RFC 8446, Section 3. It provides traits that can be implemented on values that need to be encoded or decoded, as well as utility functions for encoding sequences of values.

Utilities for ECIES encryption / decryption used by the Prio client and server.

Finite field arithmetic.

This module implements the generic Fully Linear Proof (FLP) system specified in [draft-patton-cfrg-vdaf-01, Section 6.3]. This is the main building block of prio3.

The Prio v2 server. Only 0 / 1 vectors are supported for now.

Module test_vector generates test vectors of serialized Prio inputs and support for working with test vectors, enabling backward compatibility testing.

Utility functions for handling Prio stuff.

(NOTE: This module is experimental. Applications should not use it yet.) This module defines an API for Verifiable Distributed Aggregation Functions (VDAFs) and implements two constructions described in [draft-patton-cfrg-vdaf-01].