aboutsummaryrefslogtreecommitdiffhomepage
path: root/test
diff options
context:
space:
mode:
authorJ08nY2023-03-29 23:30:12 +0200
committerJ08nY2023-03-29 23:30:12 +0200
commit68a4698448f0d5c6b8d8af022c870b47dab8f1af (patch)
tree7270a186adf9299d7906ad888a4b89d90c0c432d /test
parent3790770c2bc6ca618df8a95f0f5efc15ce9eba21 (diff)
downloadpyecsca-codegen-68a4698448f0d5c6b8d8af022c870b47dab8f1af.tar.gz
pyecsca-codegen-68a4698448f0d5c6b8d8af022c870b47dab8f1af.tar.zst
pyecsca-codegen-68a4698448f0d5c6b8d8af022c870b47dab8f1af.zip
Fix montgomery multiplication.
Fixes pyecsca#33.
Diffstat (limited to 'test')
-rw-r--r--test/test_impl.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/test/test_impl.py b/test/test_impl.py
index a061a74..ea92f8a 100644
--- a/test/test_impl.py
+++ b/test/test_impl.py
@@ -1,4 +1,3 @@
-from binascii import hexlify
from copy import copy
from os.path import join
from unittest import TestCase
@@ -7,7 +6,6 @@ from click.testing import CliRunner
from pyecsca.ec.params import get_params
from pyecsca.ec.key_agreement import ECDH_SHA1
from pyecsca.ec.mult import LTRMultiplier, RTLMultiplier, CoronMultiplier, BinaryNAFMultiplier
-from pyecsca.ec.point import Point
from pyecsca.ec.signature import ECDSA_SHA1, SignatureResult
from pyecsca.codegen.builder import build_impl
@@ -30,7 +28,8 @@ class ImplTests(TestCase):
other_args = [
("--mul", "KARATSUBA", "--sqr", "KARATSUBA"),
("--mul", "TOOM_COOK", "--sqr", "TOOM_COOK"),
- ("--red", "BARRETT")
+ ("--red", "BARRETT"),
+ ("--red", "MONTGOMERY")
]
for additional in other_args:
with runner.isolated_filesystem() as tmpdir:
@@ -83,13 +82,16 @@ class SetupTests(ImplTests):
def test_debug(self):
runner = CliRunner()
+
def callback(target, mult, params):
model, coords = target.debug()
self.assertEqual(model, params.curve.model.shortname)
self.assertEqual(coords, params.curve.coordinate_model.name)
+
self.do_basic_test(callback, runner, self.secp128r1, LTRMultiplier,
["add-1998-cmo", "dbl-1998-cmo"], "ltr", False, False, complete=False)
+
class KeyGenerationTests(ImplTests):
def do_keygen_test(self, runner, params, mult_class, formulas, mult_name, **mult_kwargs):
@@ -234,7 +236,6 @@ class ECDSATests(ImplTests):
ecdsa = ECDSA_SHA1(copy(mult), params, mult.formulas["add"],
pub.to_model(params.curve.coordinate_model, params.curve), priv)
-
signature_data = target.ecdsa_sign(data)
result = SignatureResult.from_DER(signature_data)
self.assertTrue(ecdsa.verify_data(result, data))