diff options
| author | J08nY | 2019-04-22 18:04:44 +0200 |
|---|---|---|
| committer | J08nY | 2019-04-22 18:04:44 +0200 |
| commit | 24b9b3958a54bdf7f18df62ae14199749934e3c2 (patch) | |
| tree | a758d0289337f6aee7540dca4a94ea31ced69217 /test/ec/test_key_agreement.py | |
| parent | 037194fd8cfe50aa2367c2f3c7fae5b41e7b46f9 (diff) | |
| download | pyecsca-24b9b3958a54bdf7f18df62ae14199749934e3c2.tar.gz pyecsca-24b9b3958a54bdf7f18df62ae14199749934e3c2.tar.zst pyecsca-24b9b3958a54bdf7f18df62ae14199749934e3c2.zip | |
Add ECDH and ECDSA simulation.
Diffstat (limited to 'test/ec/test_key_agreement.py')
| -rw-r--r-- | test/ec/test_key_agreement.py | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/test/ec/test_key_agreement.py b/test/ec/test_key_agreement.py new file mode 100644 index 0000000..f22ee75 --- /dev/null +++ b/test/ec/test_key_agreement.py @@ -0,0 +1,25 @@ +from unittest import TestCase + +from pyecsca.ec.key_agreement import * +from pyecsca.ec.mult import LTRMultiplier +from .curves import get_secp128r1 + + +class KeyAgreementTests(TestCase): + + def setUp(self): + self.secp128r1 = get_secp128r1() + 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.priv_a = 0xdeadbeef + self.pub_a = self.mult.multiply(self.priv_a, self.secp128r1.generator) + 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] + + 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) |
