aboutsummaryrefslogtreecommitdiff
path: root/test/ec/test_transformations.py
blob: b15f8682276b26498811c893018e2d4325d66661 (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
26
27
28
29
30
31
32
33
34
35
from unittest import TestCase

from pyecsca.ec.params import get_params
from pyecsca.ec.transformations import M2SW, M2TE, TE2M, SW2M, SW2TE


class TransformationTests(TestCase):
    def test_montgomery(self):
        curve25519 = get_params("other", "Curve25519", "affine")
        sw = M2SW(curve25519)
        self.assertIsNotNone(sw)
        self.assertTrue(sw.curve.is_on_curve(sw.generator))
        self.assertTrue(sw.curve.is_neutral(sw.curve.neutral))
        te = M2TE(curve25519)
        self.assertIsNotNone(te)
        self.assertTrue(te.curve.is_on_curve(te.generator))
        self.assertTrue(te.curve.is_neutral(te.curve.neutral))

    def test_twistededwards(self):
        ed25519 = get_params("other", "Ed25519", "affine")
        m = TE2M(ed25519)
        self.assertIsNotNone(m)
        self.assertTrue(m.curve.is_on_curve(m.generator))
        self.assertTrue(m.curve.is_neutral(m.curve.neutral))

    def test_shortweierstrass(self):
        secp128r2 = get_params("secg", "secp128r2", "affine")
        m = SW2M(secp128r2)
        self.assertIsNotNone(m)
        self.assertTrue(m.curve.is_on_curve(m.generator))
        self.assertTrue(m.curve.is_neutral(m.curve.neutral))
        te = SW2TE(secp128r2)
        self.assertIsNotNone(te)
        self.assertTrue(te.curve.is_on_curve(te.generator))
        self.assertTrue(te.curve.is_neutral(te.curve.neutral))