diff options
| author | Andrej Bátora | 2023-10-18 14:21:58 +0200 |
|---|---|---|
| committer | GitHub | 2023-10-18 14:21:58 +0200 |
| commit | a1911ee8acbcf875ed8889f5686cc34b05c236c2 (patch) | |
| tree | 965bccac4ecac171fcda66f9f07b9ded4b1c7eec | |
| parent | 56a48c2d056ec559a73c42ae2eed9caf7102b027 (diff) | |
| parent | 9987dc7dd762c44c56cca8b80379bfdc0b515bb3 (diff) | |
| download | pyecsca-codegen-a1911ee8acbcf875ed8889f5686cc34b05c236c2.tar.gz pyecsca-codegen-a1911ee8acbcf875ed8889f5686cc34b05c236c2.tar.zst pyecsca-codegen-a1911ee8acbcf875ed8889f5686cc34b05c236c2.zip | |
Merge branch 'J08nY:master' into bugfix/simulator
| -rw-r--r-- | pyecsca/codegen/templates/mult_diff_ldr.c | 2 | ||||
| -rw-r--r-- | pyecsca/codegen/templates/mult_simple_ldr.c | 2 | ||||
| -rw-r--r-- | test/test_regress.py | 49 |
3 files changed, 51 insertions, 2 deletions
diff --git a/pyecsca/codegen/templates/mult_diff_ldr.c b/pyecsca/codegen/templates/mult_diff_ldr.c index ae74053..b6d2b97 100644 --- a/pyecsca/codegen/templates/mult_diff_ldr.c +++ b/pyecsca/codegen/templates/mult_diff_ldr.c @@ -2,7 +2,7 @@ #include "point.h" void scalar_mult_inner(bn_t *scalar, point_t *point, curve_t *curve, point_t *out) { - point_t *p0 = point_copy(&curve->neutral); + point_t *p0 = point_copy(curve->neutral); point_t *p1 = point_copy(point); {%- if scalarmult.complete %} int nbits = bn_bit_length(&curve->n) - 1; diff --git a/pyecsca/codegen/templates/mult_simple_ldr.c b/pyecsca/codegen/templates/mult_simple_ldr.c index c393290..ceb257a 100644 --- a/pyecsca/codegen/templates/mult_simple_ldr.c +++ b/pyecsca/codegen/templates/mult_simple_ldr.c @@ -2,7 +2,7 @@ #include "point.h" void scalar_mult_inner(bn_t *scalar, point_t *point, curve_t *curve, point_t *out) { - point_t *p0 = point_copy(&curve->neutral); + point_t *p0 = point_copy(curve->neutral); point_t *p1 = point_copy(point); {%- if scalarmult.complete %} int nbits = bn_bit_length(&curve->n) - 1; diff --git a/test/test_regress.py b/test/test_regress.py new file mode 100644 index 0000000..d85d6f6 --- /dev/null +++ b/test/test_regress.py @@ -0,0 +1,49 @@ +import pytest +from pyecsca.ec.configuration import ( + HashType, + RandomMod, + Multiplication, + Squaring, + Reduction, + Inversion, +) +from pyecsca.ec.mult import LTRMultiplier + +from pyecsca.codegen.common import Platform, DeviceConfiguration +from pyecsca.codegen.render import render_and_build + + +@pytest.mark.xfail(reason="Issue not resolved yet.") +def test_regress_5(secp128r1, tmp_path): + platform = Platform.HOST + hash_type = HashType.SHA1 + mod_rand = RandomMod.REDUCE + mult = Multiplication.BASE + sqr = Squaring.BASE + red = Reduction.BASE + inv = Inversion.GCD + model = secp128r1.curve.model + coords = secp128r1.curve.coordinate_model + add = coords.formulas["add-2015-rcb"] + dbl = coords.formulas["dbl-2015-rcb"] + scl = coords.formulas["z"] + formulas = [add, dbl, scl] + scalarmult = LTRMultiplier(add, dbl, scl) + config = DeviceConfiguration( + model, + coords, + formulas, + scalarmult, + hash_type, + mod_rand, + mult, + sqr, + red, + inv, + platform, + True, + True, + True, + ) + dir, elf_file, hex_file, res = render_and_build(config, str(tmp_path), True) + assert res.returncode == 0 |
