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

Returns true if this field extension is set to None.

Returns extension degree of this field extension.

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more

Reads a field extension enum from the specified source.

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
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more

Serializes self and writes the resulting bytes into the target.

Serializes self into a vector of bytes.
Serializes all elements of the source and writes these bytes into the target. Read more
Returns an estimate of how many bytes are needed to represent self. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Should always be Self
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.