Modules§
Structs§
- EcPoint
- EccChip
- Strict
EcPoint - An elliptic curve point where it is easy to compare the x-coordinate of two points
Enums§
- Comparable
EcPoint - 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§
- check_
is_ on_ curve - Checks that
P
is indeed a point on the elliptic curveC
. - ec_
add_ unequal - If
is_strict = true
, then this function constrains thatP.x != Q.x
. If you are calling this withis_strict = false
, you must ensure thatP.x != Q.x
by some external logic (such as a mathematical theorem). - ec_
double - Assumptions
- ec_
double_ and_ add_ unequal - Implements: computing 2P + Q = P + Q + P for P = (x0, y0), Q = (x1, y1)
- ec_
select - ec_
select_ by_ indicator - ec_
select_ from_ bits - ec_
sub_ strict - Constrains
P != -Q
but allowsP == Q
, in which case output is (0,0). For Weierstrass curves only. - ec_
sub_ unequal - If
is_strict = true
, then this function constrains thatP.x != Q.x
. If you are calling this withis_strict = false
, you must ensure thatP.x != Q.x
by some external logic (such as a mathematical theorem). - get_naf
- into_
strict_ point - load_
random_ point - multi_
scalar_ multiply - Assumptions
- scalar_
multiply - Computes
[scalar] * P
on short Weierstrass curvey^2 = x^3 + b
- strict_
ec_ select_ from_ bits