Crate prio

source ·
Expand description

libprio-rs

Implementation of the Prio private data aggregation protocol.

Prio v2, used in the Exposure Notifications Private Analytics system, is available in the client and server modules.

Prio3 is available in the vdaf module as part of an implementation of Verifiable Distributed Aggregation Functions, along with an experimental implementation of Poplar1.

Modules

  • clientprio2
    The Prio v2 client. Only 0 / 1 vectors are supported for now.
  • Support for encoding and decoding messages to or from the TLS wire encoding, as specified in RFC 8446, Section 3.
  • encryptprio2
    Utilities for ECIES encryption / decryption used by the Prio client and server.
  • Finite field arithmetic.
  • Implementation of the generic Fully Linear Proof (FLP) system specified in [draft-irtf-cfrg-vdaf-05]. This is the main building block of Prio3.
  • idpfcrypto-dependencies and experimental
    This module implements the incremental distributed point function (IDPF) described in [draft-irtf-cfrg-vdaf-05].
  • serverprio2
    The Prio v2 server. Only 0 / 1 vectors are supported for now.
  • utilprio2
    Utility functions for handling Prio stuff.
  • Verifiable Distributed Aggregation Functions (VDAFs) as described in [draft-irtf-cfrg-vdaf-05].