Expand description

risc0_zkp::core

This module contains the core objects that are used by the ZK-STARK prover and verifier.

This includes support for:

  • fp: the base finite field
  • fp4: the extension finite field
  • ntt: Number Theoretic Transform
  • sha: SHA256 hashing support
  • sha_rng: Cryptographic Random Number Generator (CRNG) based on SHA
  • other basic ZKP utilities

Modules

Support for the base finite field modulo 15*2^27 + 1

Support for the rank 4 extension field of the base field.

An implementation of a Numeric Theoretic Transform (NTT).

Polynomial utilites (currently only evaluation).

Tables containing the root of unity for the base field.

Simple SHA-256 wrappers.

Simple SHA-256 wrappers.

A SHA-256 based CRNG used in Fiat-Shamir

Traits

Generic trait for generating random values.

Functions

Compute ceil(log_2(value))

For x = (1 << po2), given x, find po2.