pyecsca.ec.formula.base module¶
Provides an abstract base class of a formula.
- class FormulaAction(formula, *points, **inputs)[source]¶
Bases:
ResultActionExecution of a formula, on some input points and parameters, with some outputs.
- class Formula[source]¶
Bases:
ABCFormula operating on points.
- class AdditionFormula[source]¶
Bases:
Formula,ABCFormula that adds two points.
- class DoublingFormula[source]¶
Bases:
Formula,ABCFormula that doubles a point.
- class TriplingFormula[source]¶
Bases:
Formula,ABCFormula that triples a point.
- class NegationFormula[source]¶
Bases:
Formula,ABCFormula that negates a point.
- class ScalingFormula[source]¶
Bases:
Formula,ABCFormula that somehow scales the point (to a given representative of a projective class).
- class DifferentialAdditionFormula[source]¶
Bases:
Formula,ABCDifferential 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,ABCLadder 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]).