diff options
Diffstat (limited to 'test/ec/test_curve.py')
| -rw-r--r-- | test/ec/test_curve.py | 28 |
1 files changed, 21 insertions, 7 deletions
diff --git a/test/ec/test_curve.py b/test/ec/test_curve.py index 1adaf47..1f2ca1f 100644 --- a/test/ec/test_curve.py +++ b/test/ec/test_curve.py @@ -1,17 +1,19 @@ from unittest import TestCase +from parameterized import parameterized + from pyecsca.ec.curve import EllipticCurve +from pyecsca.ec.curves import get_curve from pyecsca.ec.mod import Mod from pyecsca.ec.model import MontgomeryModel from pyecsca.ec.point import Point -from .curves import get_secp128r1, get_curve25519 class CurveTests(TestCase): def setUp(self): - self.secp128r1 = get_secp128r1() + self.secp128r1 = get_curve("secp128r1", "projective") self.base = self.secp128r1.generator - self.curve25519 = get_curve25519() + self.curve25519 = get_curve("curve25519", "xz") def test_init(self): with self.assertRaises(ValueError): @@ -39,10 +41,22 @@ class CurveTests(TestCase): Z=Mod(1, self.secp128r1.curve.prime)) assert not self.secp128r1.curve.is_on_curve(other) + @parameterized.expand([ + ("secp128r1","projective"), + ("secp256r1", "projective"), + ("secp521r1", "projective"), + ("curve25519", "xz"), + ("ed25519", "projective"), + ("ed448", "projective") + ]) + def test_curve_utils(self, name, coords): + group = get_curve(name, coords) + try: + assert group.curve.is_on_curve(group.generator) + except NotImplementedError: + pass + def test_eq(self): self.assertEqual(self.secp128r1.curve, self.secp128r1.curve) self.assertNotEqual(self.secp128r1.curve, self.curve25519.curve) - - def test_repr(self): - self.assertEqual(repr(self.secp128r1.curve), - "EllipticCurve([a=340282366762482138434845932244680310780, b=308990863222245658030922601041482374867] on ShortWeierstrassModel() using EFDCoordinateModel(\"projective\" on short Weierstrass curves))") + self.assertNotEqual(self.secp128r1.curve, None) |
