pyecsca.ec.coordinates module

Provides a coordinate model class.

class pyecsca.ec.coordinates.CoordinateModel[source]

Bases: object

A coordinate system for a particular model(form) of an elliptic curve.

name: str

Name of the coordinate model

full_name: str

Full name.

curve_model: Any

The curve model.

variables: List[str]

Variables that the coordinate model uses.

satisfying: List[Module]

Relationship between the coordinate system and affine coordinates.

toaffine: List[Module]

Map to affine coordinates from system coordinates.

tosystem: List[Module]

Map from coordinate system to affine coordinates.

homogweights: MutableMapping[str, int]

Weights that homogenize the coordinates.

parameters: List[str]

Coordinate system parameters.

assumptions: List[Module]

Assumptions that need to hold for the curve to use this coordinate system, also used to compute the values of the coordinate system parameters.

neutral: List[Module]

Coordinates of the neutral point in the coordinate system, might contain expressions of parameters.

formulas: MutableMapping[str, Formula]

Formulas available on the coordinate system.

class pyecsca.ec.coordinates.AffineCoordinateModel(curve_model)[source]

Bases: CoordinateModel

name: str = 'affine'

Name of the coordinate model

full_name: str = 'Affine coordinates'

Full name.

curve_model: Any

The curve model.

variables: List[str]

Variables that the coordinate model uses.

satisfying: List[Module]

Relationship between the coordinate system and affine coordinates.

toaffine: List[Module]

Map to affine coordinates from system coordinates.

tosystem: List[Module]

Map from coordinate system to affine coordinates.

parameters: List[str]

Coordinate system parameters.

assumptions: List[Module]

Assumptions that need to hold for the curve to use this coordinate system, also used to compute the values of the coordinate system parameters.

neutral: List[Module]

Coordinates of the neutral point in the coordinate system, might contain expressions of parameters.

formulas: MutableMapping[str, Formula]

Formulas available on the coordinate system.

homogweights: MutableMapping[str, int]

Weights that homogenize the coordinates.