Module ecc

Source

Modules§

ecdsa
fixed_base
pippenger

Structs§

EcPoint
EccChip
StrictEcPoint
An elliptic curve point where it is easy to compare the x-coordinate of two points

Enums§

ComparableEcPoint
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 curve C.
ec_add_unequal
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).
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 allows P == Q, in which case output is (0,0). For Weierstrass curves only.
ec_sub_unequal
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).
get_naf
into_strict_point
load_random_point
multi_scalar_multiply
Assumptions
scalar_multiply
Computes [scalar] * P on short Weierstrass curve y^2 = x^3 + b
strict_ec_select_from_bits

Type Aliases§

BaseFieldEccChip