pub struct EdwardsConfig;
Expand description

Baby-JubJub is a twisted Edwards curve. These curves have equations of the form: ax² + y² = 1 + dx²y². over some base finite field Fq.

Baby-JubJub’s curve equation: x² + y² = 1 + (168696/168700)x²y²

q = 21888242871839275222246405745257275088548364400416034343698204186575808495617

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more

COFACTOR = 8

COFACTOR^(-1) mod r = 2394026564107420727433200628387514462817212225638746351800188703329891451411

Base field that the curve is defined over.
Finite prime field corresponding to an appropriate prime-order subgroup of the curve group.
Returns the “default value” for a type. Read more

COEFF_A = 168698

COEFF_B = 168700

Model parameters for the Twisted Edwards curve that is birationally equivalent to this curve.
This method tests for self and other values to be equal, and is used by ==.
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.

COEFF_A = 1

COEFF_D = 168696/168700 mod q = 9706598848417545097372247223557719406784115219466060233080913168975159366771

AFFINE_GENERATOR_COEFFS = (GENERATOR_X, GENERATOR_Y)

Helper method for computing elem * Self::COEFF_A. Read more
Model parameters for the Montgomery curve that is birationally equivalent to this curve.
Checks that the current point is in the prime order subgroup given the point on the curve.
Performs cofactor clearing. The default method is simply to multiply by the cofactor. For some curve families though, it is sufficient to multiply by a smaller scalar.
Default implementation of group multiplication for projective coordinates
Default implementation of group multiplication for affine coordinates
Default implementation for multi scalar multiplication
If uncompressed, serializes both x and y coordinates. If compressed, serializes y coordinate with a bit to encode whether x is positive.
If validate is Yes, calls check() to make sure the element is valid. 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
Checks if this value is equivalent to the given key. 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.