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