aboutsummaryrefslogtreecommitdiffhomepage
path: root/pyecsca/ec/curves.py
diff options
context:
space:
mode:
Diffstat (limited to 'pyecsca/ec/curves.py')
-rw-r--r--pyecsca/ec/curves.py22
1 files changed, 11 insertions, 11 deletions
diff --git a/pyecsca/ec/curves.py b/pyecsca/ec/curves.py
index 7fcfcbd..496edf2 100644
--- a/pyecsca/ec/curves.py
+++ b/pyecsca/ec/curves.py
@@ -1,13 +1,13 @@
from public import public
from typing import Mapping, Any
-from pyecsca.ec.coordinates import AffineCoordinateModel
-from pyecsca.ec.curve import EllipticCurve
-from pyecsca.ec.group import AbelianGroup
-from pyecsca.ec.mod import Mod
-from pyecsca.ec.model import (ShortWeierstrassModel, MontgomeryModel, TwistedEdwardsModel,
+from .coordinates import AffineCoordinateModel
+from .curve import EllipticCurve
+from .params import DomainParameters
+from .mod import Mod
+from .model import (ShortWeierstrassModel, MontgomeryModel, TwistedEdwardsModel,
EdwardsModel)
-from pyecsca.ec.point import Point, InfinityPoint
+from .point import Point, InfinityPoint
SHORT_WEIERSTRASS: Mapping[str, Mapping[str, Any]] = {
@@ -191,7 +191,7 @@ TWISTED_EDWARDS: Mapping[str, Mapping[str, Any]] = {
@public
-def get_curve(name: str, coords: str) -> AbelianGroup:
+def get_curve(name: str, coords: str) -> DomainParameters:
"""
Retrieve a curve from a set of stored parameters.
@@ -207,7 +207,7 @@ def get_curve(name: str, coords: str) -> AbelianGroup:
affine = Point(AffineCoordinateModel(model), x=Mod(params["g"][0], params["p"]),
y=Mod(params["g"][1], params["p"]))
generator = Point.from_affine(coord_model, affine)
- return AbelianGroup(curve, generator, InfinityPoint(coord_model), params["n"], params["h"])
+ return DomainParameters(curve, generator, InfinityPoint(coord_model), params["n"], params["h"])
elif name in MONTGOMERY:
params = MONTGOMERY[name]
model = MontgomeryModel()
@@ -215,7 +215,7 @@ def get_curve(name: str, coords: str) -> AbelianGroup:
curve = EllipticCurve(model, coord_model, params["p"], dict(a=params["a"], b=params["b"]))
generator = Point(coord_model, X=Mod(params["x"], params["p"]),
Z=Mod(params["z"], params["p"]))
- return AbelianGroup(curve, generator, InfinityPoint(coord_model), params["n"], params["h"])
+ return DomainParameters(curve, generator, InfinityPoint(coord_model), params["n"], params["h"])
elif name in TWISTED_EDWARDS:
params = TWISTED_EDWARDS[name]
model = TwistedEdwardsModel()
@@ -224,7 +224,7 @@ def get_curve(name: str, coords: str) -> AbelianGroup:
affine = Point(AffineCoordinateModel(model), x=Mod(params["g"][0], params["p"]),
y=Mod(params["g"][1], params["p"]))
generator = Point.from_affine(coord_model, affine)
- return AbelianGroup(curve, generator, InfinityPoint(coord_model), params["n"], params["h"])
+ return DomainParameters(curve, generator, InfinityPoint(coord_model), params["n"], params["h"])
elif name in EDWARDS:
params = EDWARDS[name]
model = EdwardsModel()
@@ -233,6 +233,6 @@ def get_curve(name: str, coords: str) -> AbelianGroup:
affine = Point(AffineCoordinateModel(model), x=Mod(params["g"][0], params["p"]),
y=Mod(params["g"][1], params["p"]))
generator = Point.from_affine(coord_model, affine)
- return AbelianGroup(curve, generator, InfinityPoint(coord_model), params["n"], params["h"])
+ return DomainParameters(curve, generator, InfinityPoint(coord_model), params["n"], params["h"])
else:
raise ValueError("Unknown curve: {}".format(name))