Enum winter_verifier::FieldExtension [−][src]
#[repr(u8)]
pub enum FieldExtension {
None,
Quadratic,
}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
Composition polynomial is constructed in the base field.
Composition polynomial is constructed in the quadratic extension of the base field.
Implementations
Trait Implementations
pub fn read_from<R>(
source: &mut R
) -> Result<FieldExtension, DeserializationError> where
R: ByteReader,
pub fn read_from<R>(
source: &mut R
) -> Result<FieldExtension, DeserializationError> where
R: ByteReader,
Reads a field extension enum from the specified source.
fn 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,
Reads a sequence of bytes from the provided source, attempts to deserialize these bytes
into a vector with the specified number of Self elements, and returns the result. Read more
Auto Trait Implementations
impl RefUnwindSafe for FieldExtension
impl Send for FieldExtension
impl Sync for FieldExtension
impl Unpin for FieldExtension
impl UnwindSafe for FieldExtension
Blanket Implementations
Mutably borrows from an owned value. Read more
type Output = T
type Output = T
Should always be Self