Module risc0_zkp::field

source ·
Expand description

Defines field extension (and base fields) used for finite field-based operations across the RISC Zero zkVM architecture

Modules

The field extension whose subfield is order 15*2^27 + 1; this field choice allows 32-bit addition without overflow Baby bear field. Support for the base finite field modulo 15 * 2^27 + 1.
The field extension whose subfield is order 2^64 - 2^32 + 1; this field choice allows for fast reduction Goldilocks field. Support for the base finite field modulo 2^64 - 2^32 + 1.

Traits

Subfield elements that can be compared, copied, and operated on via multiplication, addition, and subtraction
A field extension which can be constructed from a subfield element Elem
A pair of fields, one of which is an extension field of the other.
Roots of unity for the field whose elements are represented by ExtElem and whose subfield elements are represented by Elem