aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJ08nY2023-08-08 11:11:47 +0200
committerJ08nY2023-08-08 11:11:47 +0200
commitfe5cb9f7d579d2407d03ae58fcabd70d4147efa9 (patch)
tree54109e7239926110d6bc2bfe76ad7a6f207b69c5
parentf0762df56cb6caedf2e62ed7f335b4c3ef0f2889 (diff)
downloadpyecsca-fe5cb9f7d579d2407d03ae58fcabd70d4147efa9.tar.gz
pyecsca-fe5cb9f7d579d2407d03ae58fcabd70d4147efa9.tar.zst
pyecsca-fe5cb9f7d579d2407d03ae58fcabd70d4147efa9.zip
Fix curve validation.
-rw-r--r--pyecsca/ec/curve.py15
-rw-r--r--pyecsca/ec/params.py1
2 files changed, 3 insertions, 13 deletions
diff --git a/pyecsca/ec/curve.py b/pyecsca/ec/curve.py
index 18dd9cf..aae491d 100644
--- a/pyecsca/ec/curve.py
+++ b/pyecsca/ec/curve.py
@@ -84,20 +84,11 @@ class EllipticCurve:
expr = sympify(f"{rhs} - {lhs}")
for curve_param, value in self.parameters.items():
expr = expr.subs(curve_param, k(value))
- if (
- len(expr.free_symbols) > 1
- or (param := str(expr.free_symbols.pop()))
- not in self.coordinate_model.parameters
- ):
+ if len(expr.free_symbols) > 0:
raise ValueError(
- f"This coordinate model couldn't be loaded due to an unsupported assumption ({assumption_string})."
+ f"Missing necessary coordinate model parameter ({assumption_string})."
)
- poly = Poly(expr, symbols(param), domain=k)
- roots = poly.ground_roots()
- for root in roots:
- self.parameters[param] = Mod(int(root), self.prime)
- break
- else:
+ if k(expr) != 0:
raise_unsatisified_assumption(
getconfig().ec.unsatisfied_coordinate_assumption_action,
f"Coordinate model {self.coordinate_model} has an unsatisifed assumption on the {param} parameter (0 = {expr})."
diff --git a/pyecsca/ec/params.py b/pyecsca/ec/params.py
index 1b1edda..4637abb 100644
--- a/pyecsca/ec/params.py
+++ b/pyecsca/ec/params.py
@@ -211,7 +211,6 @@ def _create_params(curve, coords, infty):
roots = poly.ground_roots()
for root in roots:
params[param] = Mod(int(root), field)
- print("here", model, coords, param, root)
break
else:
raise_unsatisified_assumption(