diff options
| author | J08nY | 2024-01-27 15:48:12 +0100 |
|---|---|---|
| committer | J08nY | 2024-01-27 15:48:12 +0100 |
| commit | e24568e64de9093f40fc788341cd526da9405c72 (patch) | |
| tree | 669510314702656898603c26ba53fc46e7440d75 | |
| parent | 03674b43a9900cf14a996e1a3dca74fc95591b23 (diff) | |
| download | pyecsca-e24568e64de9093f40fc788341cd526da9405c72.tar.gz pyecsca-e24568e64de9093f40fc788341cd526da9405c72.tar.zst pyecsca-e24568e64de9093f40fc788341cd526da9405c72.zip | |
Fix CodeFormula hash.
| -rw-r--r-- | pyecsca/ec/formula/code.py | 2 | ||||
| -rw-r--r-- | test/ec/test_pickle.py | 13 |
2 files changed, 12 insertions, 3 deletions
diff --git a/pyecsca/ec/formula/code.py b/pyecsca/ec/formula/code.py index 307870f..9d2d7d6 100644 --- a/pyecsca/ec/formula/code.py +++ b/pyecsca/ec/formula/code.py @@ -44,7 +44,7 @@ class CodeFormula(Formula): self.coordinate_model, tuple(self.code), tuple(self.parameters), - tuple(self.assumptions), + tuple(self.assumptions_str), self.unified, ) ) diff --git a/test/ec/test_pickle.py b/test/ec/test_pickle.py index 36f014d..67adcb7 100644 --- a/test/ec/test_pickle.py +++ b/test/ec/test_pickle.py @@ -5,6 +5,7 @@ from multiprocessing.context import BaseContext import pytest +from pyecsca.ec.formula import EFDFormula from pyecsca.ec.formula.graph import FormulaGraph from pyecsca.ec.model import ShortWeierstrassModel from pyecsca.ec.params import get_params @@ -45,7 +46,7 @@ def test_coords(): def test_formula(): sw = ShortWeierstrassModel() coords = sw.coordinates["projective"] - formula = coords.formulas["add-2007-bl"] + formula: EFDFormula = coords.formulas["add-2007-bl"] data = pickle.dumps(formula) back = pickle.loads(data) assert formula == back @@ -53,6 +54,10 @@ def test_formula(): data = pickle.dumps(formulas) back = pickle.loads(data) assert formulas == back + code_formula = formula.to_code() + assert formula != code_formula + back_code = pickle.loads(pickle.dumps(code_formula)) + assert code_formula == back_code def formula_target(formula): @@ -62,7 +67,11 @@ def formula_target(formula): def test_formula_loads(ctx): sw = ShortWeierstrassModel() coords = sw.coordinates["projective"] - formula = coords.formulas["add-2007-bl"] + formula: EFDFormula = coords.formulas["add-2007-bl"] + with ctx.Pool(processes=1) as pool: + res = pool.apply(formula_target, args=(formula,)) + assert res + formula = formula.to_code() with ctx.Pool(processes=1) as pool: res = pool.apply(formula_target, args=(formula,)) assert res |
