pyecsca.ec.formula.base module¶
Provides an abstract base class of a formula.
- class FormulaAction(formula, *points, **inputs)[source]¶
Bases:
ResultAction
Execution of a formula, on some input points and parameters, with some outputs.
- class Formula[source]¶
Bases:
ABC
Formula operating on points.
- class AdditionFormula[source]¶
Bases:
Formula
,ABC
Formula that adds two points.
- class DoublingFormula[source]¶
Bases:
Formula
,ABC
Formula that doubles a point.
- class TriplingFormula[source]¶
Bases:
Formula
,ABC
Formula that triples a point.
- class NegationFormula[source]¶
Bases:
Formula
,ABC
Formula that negates a point.
- class ScalingFormula[source]¶
Bases:
Formula
,ABC
Formula that somehow scales the point (to a given representative of a projective class).
- class DifferentialAdditionFormula[source]¶
Bases:
Formula
,ABC
Differential addition formula that adds two points with a known difference.
The first input point is the difference of the third input and the second input (P[0] = P[2] - P[1]).
- class LadderFormula[source]¶
Bases:
Formula
,ABC
Ladder formula for simultaneous addition of two points and doubling of the one of them, with a known difference.
The first input point is the difference of the third input and the second input (P[0] = P[2] - P[1]). The first output point is the doubling of the second input point (O[0] = 2 * P[1]). The second output point is the addition of the second and third input points (O[1] = P[1] + P[2]).