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

from pyecsca.ec.mod import Mod
from pyecsca.ec.point import Point, InfinityPoint
from test.ec.curves import get_secp128r1


class CurveTests(TestCase):
    def setUp(self):
        self.secp128r1, self.base = get_secp128r1()

    def test_is_on_curve(self):
        pt = Point(self.secp128r1.coordinate_model,
                   X=Mod(0x161ff7528b899b2d0c28607ca52c5b86, self.secp128r1.prime),
                   Y=Mod(0xcf5ac8395bafeb13c02da292dded7a83, self.secp128r1.prime),
                   Z=Mod(1, self.secp128r1.prime))
        assert self.secp128r1.is_on_curve(pt)

    def test_is_neutral(self):
        assert self.secp128r1.is_neutral(InfinityPoint(self.secp128r1.coordinate_model))