aboutsummaryrefslogtreecommitdiff
path: root/test/ec/test_key_generation.py
blob: 7eb26f08675a3231571dba29d61440f800840334 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
from unittest import TestCase

from pyecsca.ec.params import get_params
from pyecsca.ec.key_generation import KeyGeneration
from pyecsca.ec.mult import LTRMultiplier


class KeyGenerationTests(TestCase):
    def setUp(self):
        self.secp128r1 = get_params("secg", "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.add, self.dbl)

    def test_basic(self):
        generator = KeyGeneration(self.mult, self.secp128r1)
        priv, pub = generator.generate()
        self.assertIsNotNone(priv)
        self.assertIsNotNone(pub)
        self.assertTrue(self.secp128r1.curve.is_on_curve(pub))
        generator = KeyGeneration(self.mult, self.secp128r1, True)
        priv, pub = generator.generate()
        self.assertIsNotNone(priv)
        self.assertIsNotNone(pub)
        self.assertTrue(self.secp128r1.curve.is_on_curve(pub))