Enum winter_verifier::FieldExtension
source · pub enum FieldExtension {
None,
Quadratic,
Cubic,
}
Expand description
Defines an extension field for the composition polynomial.
Choice of a field for a composition polynomial may impact proof soundness, and can also have a non-negligible impact on proof generation time and proof size. Specifically, for small fields, security offered by the base field itself may be inadequate or insufficient, and an extension of the base field may need to be used.
For example, if the size of base field is ~64-bits, a quadratic extension must be use to achieve ~100 bits of soundness, and a cubic extension must be used to achieve 128+ bits of soundness.
However, increasing extension degree will increase proof generation time and proof size by as much as 50%.
Variants
None
Composition polynomial is constructed in the base field.
Quadratic
Composition polynomial is constructed in the quadratic extension of the base field.
Cubic
Composition polynomial is constructed in the cubic extension of the base field.
Implementations
Trait Implementations
sourceimpl Clone for FieldExtension
impl Clone for FieldExtension
sourcefn clone(&self) -> FieldExtension
fn clone(&self) -> FieldExtension
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresourceimpl Debug for FieldExtension
impl Debug for FieldExtension
sourceimpl Deserializable for FieldExtension
impl Deserializable for FieldExtension
sourcefn read_from<R>(source: &mut R) -> Result<FieldExtension, DeserializationError>where
R: ByteReader,
fn read_from<R>(source: &mut R) -> Result<FieldExtension, DeserializationError>where
R: ByteReader,
Reads a field extension enum from the specified source
.
sourcefn read_batch_from<R>(
source: &mut R,
num_elements: usize
) -> Result<Vec<Self, Global>, DeserializationError>where
R: ByteReader,
fn read_batch_from<R>(
source: &mut R,
num_elements: usize
) -> Result<Vec<Self, Global>, DeserializationError>where
R: ByteReader,
source
, attempts to deserialize these bytes
into a vector with the specified number of Self
elements, and returns the result. Read moresourceimpl PartialEq<FieldExtension> for FieldExtension
impl PartialEq<FieldExtension> for FieldExtension
sourcefn eq(&self, other: &FieldExtension) -> bool
fn eq(&self, other: &FieldExtension) -> bool
sourceimpl Serializable for FieldExtension
impl Serializable for FieldExtension
sourcefn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Serializes self
and writes the resulting bytes into the target
.