Modules
Structs
An elliptic curve point where it is easy to compare the x-coordinate of two points
Enums
An elliptic curve point where the x-coordinate has already been constrained to be reduced or not.
In the reduced case one can more optimally compare equality of x-coordinates.
Functions
Checks that
P is indeed a point on the elliptic curve C.If
is_strict = true, then this function constrains that P.x != Q.x.
If you are calling this with is_strict = false, you must ensure that P.x != Q.x by some external logic (such
as a mathematical theorem).Assumptions
Implements:
computing 2P + Q = P + Q + P for P = (x0, y0), Q = (x1, y1)
Constrains
P != -Q but allows P == Q, in which case output is (0,0).
For Weierstrass curves only.If
is_strict = true, then this function constrains that P.x != Q.x.
If you are calling this with is_strict = false, you must ensure that P.x != Q.x by some external logic (such
as a mathematical theorem).Assumptions
Computes
[scalar] * P on short Weierstrass curve y^2 = x^3 + b