]> Cypherpunks.ru repositories - pygost.git/blobdiff - pygost/test_gost3410_vko.py
gost3410_vko checks if pub is on the curve
[pygost.git] / pygost / test_gost3410_vko.py
index 83053500cd38bd8d5dedfe042a75d46663954c26..1b48e2ea0badf96a64e032de86f615fff74e7e8f 100644 (file)
@@ -72,7 +72,7 @@ class TestVKO34102012256(TestCase):
         self.assertSequenceEqual(kek_34102012256(curve, prvB, pubA, ukm), vko)
 
     def test_sequence(self):
-        curve = CURVES["id-tc26-gost-3410-12-512-paramSetA"]
+        curve = CURVES["id-tc26-gost-3410-2012-256-paramSetA"]
         for _ in range(10):
             ukm = ukm_unmarshal(urandom(8))
             prv1 = bytes2long(urandom(32))
@@ -86,6 +86,14 @@ class TestVKO34102012256(TestCase):
             kek2 = kek_34102012256(curve, prv2, pub2, ukm)
             self.assertNotEqual(kek1, kek2)
 
+    def test_pub_is_not_on_curve(self):
+        with self.assertRaises(ValueError):
+            kek_34102012256(
+                CURVES["id-tc26-gost-3410-2012-256-paramSetA"],
+                bytes2long(urandom(32)),
+                pub_unmarshal(urandom(64)),
+            )
+
 
 class TestVKO34102012512(TestCase):
     """RFC 7836