diff options
Diffstat (limited to 'test/ec/test_key_agreement.py')
| -rw-r--r-- | test/ec/test_key_agreement.py | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/test/ec/test_key_agreement.py b/test/ec/test_key_agreement.py index ab009e3..3acb070 100644 --- a/test/ec/test_key_agreement.py +++ b/test/ec/test_key_agreement.py @@ -3,7 +3,7 @@ from unittest import TestCase from pyecsca.ec.curves import get_curve from pyecsca.ec.key_agreement import * from pyecsca.ec.mult import LTRMultiplier - +from parameterized import parameterized class KeyAgreementTests(TestCase): @@ -11,15 +11,22 @@ class KeyAgreementTests(TestCase): self.secp128r1 = get_curve("secp128r1", "projective") self.add = self.secp128r1.curve.coordinate_model.formulas["add-2007-bl"] self.dbl = self.secp128r1.curve.coordinate_model.formulas["dbl-2007-bl"] - self.mult = LTRMultiplier(self.secp128r1, self.add, self.dbl) + self.mult = LTRMultiplier(self.add, self.dbl) self.priv_a = 0xdeadbeef - self.pub_a = self.mult.multiply(self.priv_a, self.secp128r1.generator) + self.mult.init(self.secp128r1, self.secp128r1.generator) + self.pub_a = self.mult.multiply(self.priv_a) self.priv_b = 0xcafebabe - self.pub_b = self.mult.multiply(self.priv_b, self.secp128r1.generator) - self.algos = [ECDH_NONE, ECDH_SHA1, ECDH_SHA224, ECDH_SHA256, ECDH_SHA384, ECDH_SHA512] + self.pub_b = self.mult.multiply(self.priv_b) - def test_all(self): - for algo in self.algos: - result_ab = algo(self.mult, self.pub_a, self.priv_b).perform() - result_ba = algo(self.mult, self.pub_b, self.priv_a).perform() - self.assertEqual(result_ab, result_ba) + @parameterized.expand([ + ("NONE", ECDH_NONE), + ("SHA1", ECDH_SHA1), + ("SHA224", ECDH_SHA224), + ("SHA256", ECDH_SHA256), + ("SHA384", ECDH_SHA384), + ("SHA512", ECDH_SHA512) + ]) + def test_all(self, name, algo): + result_ab = algo(self.mult, self.secp128r1, self.pub_a, self.priv_b).perform() + result_ba = algo(self.mult, self.secp128r1, self.pub_b, self.priv_a).perform() + self.assertEqual(result_ab, result_ba) |
