Expand description

This crate contains ZKP backends for use with the Sunscreen compiler and runtime.

Modules

  • Types for working with Bulletproofs as the ZKP backend.

Structs

  • A large integer representing a backend-agnostic field element.
  • Stack-allocated big unsigned integer.

Enums

  • An error in a ZKP backend.
  • An operation in Sunscreen’s intermediate representation programs before JIT compilation.
  • An R1CS proof.

Traits

  • Indicates the given type is a field used used in a ZKP backend. E.g. Bulletproofs uses Ristretto Scalar values.
  • In ZKP circuits, it’s often simpler for the prover to provide additional inputs and prove they meet some criteria than to directly compute some quantity. However, something must compute these additional inputs. Rather than delegate this responsibility to the prover’s application, we use Gadgets.
  • The methods needed for a type to serve as a proof system in the Sunscreen ecosystem.
  • See std::convert::From. This trait exists to avoid limitations with foreign trait rules.
  • See std::convert::Into. This trait exists to avoid limitations with foreign trait rules.

Functions

Type Aliases