]> Cypherpunks.ru repositories - pygost.git/commitdiff
VKO functions must be called kek()
authorSergey Matveev <stargrave@stargrave.org>
Sat, 19 Nov 2016 19:32:15 +0000 (22:32 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Sat, 19 Nov 2016 19:32:15 +0000 (22:32 +0300)
NEWS
pygost/gost3410_vko.py
pygost/stubs/pygost/gost3410_vko.pyi
pygost/test_gost3410_vko.py

diff --git a/NEWS b/NEWS
index 2f4d345825c60519c8d9b3e3c66c1185c8edec89..8726c5dc6aa16e4da8584e442cf221bf7c0aa828 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,10 +1,8 @@
 3.0:
-    Many incompatible changes:
-
     * gost3411_94 renamed to gost341194
     * gost3411_2012 renamed and splitted to gost34112012256, gost34112012512
     * GOST34112012 splitted to GOST34112012256, GOST34112012512
-    * gost3410.kek moved to separate gost3410_vko.vko_34102001
+    * gost3410.kek moved to separate gost3410_vko.kek_34102001
     * 34.10-2012 VKO appeared in gost3410_vko, with test vectors
     * 34.11-94 digest is reversed, to be compatible with HMAC and
       PBKDF2 test vectors describe in TC26 documents
index 719c4f40f4d17b5ee9ec311354430ba59d0c31b6..41b50f610440924c9b212396f7448e44fc9b2941 100644 (file)
@@ -33,7 +33,7 @@ def ukm_unmarshal(ukm):
     return bytes2long(ukm[::-1])
 
 
-def vko_34102001(curve, prv, pubkey, ukm):
+def kek_34102001(curve, prv, pubkey, ukm):
     """ Make Diffie-Hellman computation (34.10-2001, 34.11-94)
 
     :param GOST3410Curve curve: curve to use
@@ -53,7 +53,7 @@ def vko_34102001(curve, prv, pubkey, ukm):
     return GOST341194(pub_marshal(key), "GostR3411_94_CryptoProParamSet").digest()
 
 
-def vko_34102012256(curve, prv, pubkey, ukm=1):
+def kek_34102012256(curve, prv, pubkey, ukm=1):
     """ Make Diffie-Hellman computation (34.10-2012, 34.11-2012 256 bit)
 
     :param GOST3410Curve curve: curve to use
@@ -69,7 +69,7 @@ def vko_34102012256(curve, prv, pubkey, ukm=1):
     return GOST34112012256(pub_marshal(key, mode=2012)).digest()
 
 
-def vko_34102012512(curve, prv, pubkey, ukm=1):
+def kek_34102012512(curve, prv, pubkey, ukm=1):
     """ Make Diffie-Hellman computation (34.10-2012, 34.11-2012 512 bit)
 
     :param GOST3410Curve curve: curve to use
index e497261da1c3039f619881a1844396dfcd030a8e..d023a1e91746ee411eacb24372da70b59597dd53 100644 (file)
@@ -5,10 +5,10 @@ from pygost.gost3410 import PublicKey
 def ukm_unmarshal(ukm: bytes) -> int: ...
 
 
-def vko_34102001(curve: GOST3410Curve, prv: int, pubkey: PublicKey, ukm: int) -> bytes: ...
+def kek_34102001(curve: GOST3410Curve, prv: int, pubkey: PublicKey, ukm: int) -> bytes: ...
 
 
-def vko_34102012256(curve: GOST3410Curve, prv: int, pubkey: PublicKey, ukm: int=...) -> bytes: ...
+def kek_34102012256(curve: GOST3410Curve, prv: int, pubkey: PublicKey, ukm: int=...) -> bytes: ...
 
 
-def vko_34102012512(curve: GOST3410Curve, prv: int, pubkey: PublicKey, ukm: int=...) -> bytes: ...
+def kek_34102012512(curve: GOST3410Curve, prv: int, pubkey: PublicKey, ukm: int=...) -> bytes: ...
index 472d550b4eab3c23b664f52029a898c0bd071247..c35f9ef66c6c9abda8715e97b525dd325a02dfef 100644 (file)
@@ -23,10 +23,10 @@ from pygost.gost3410 import GOST3410Curve
 from pygost.gost3410 import prv_unmarshal
 from pygost.gost3410 import pub_unmarshal
 from pygost.gost3410 import public_key
+from pygost.gost3410_vko import kek_34102001
+from pygost.gost3410_vko import kek_34102012256
+from pygost.gost3410_vko import kek_34102012512
 from pygost.gost3410_vko import ukm_unmarshal
-from pygost.gost3410_vko import vko_34102001
-from pygost.gost3410_vko import vko_34102012256
-from pygost.gost3410_vko import vko_34102012512
 from pygost.utils import bytes2long
 from pygost.utils import hexdec
 
@@ -40,11 +40,11 @@ class TestVKO34102001(TestCase):
             prv2 = bytes2long(urandom(32))
             pub1 = public_key(curve, prv1)
             pub2 = public_key(curve, prv2)
-            kek1 = vko_34102001(curve, prv1, pub2, ukm)
-            kek2 = vko_34102001(curve, prv2, pub1, ukm)
+            kek1 = kek_34102001(curve, prv1, pub2, ukm)
+            kek2 = kek_34102001(curve, prv2, pub1, ukm)
             self.assertEqual(kek1, kek2)
-            kek1 = vko_34102001(curve, prv1, pub1, ukm)
-            kek2 = vko_34102001(curve, prv2, pub2, ukm)
+            kek1 = kek_34102001(curve, prv1, pub1, ukm)
+            kek2 = kek_34102001(curve, prv2, pub2, ukm)
             self.assertNotEqual(kek1, kek2)
 
 
@@ -59,8 +59,8 @@ class TestVKO34102012256(TestCase):
         prvB = prv_unmarshal(hexdec("48c859f7b6f11585887cc05ec6ef1390cfea739b1a18c0d4662293ef63b79e3b8014070b44918590b4b996acfea4edfbbbcccc8c06edd8bf5bda92a51392d0db"))
         pubB = pub_unmarshal(hexdec("192fe183b9713a077253c72c8735de2ea42a3dbc66ea317838b65fa32523cd5efca974eda7c863f4954d1147f1f2b25c395fce1c129175e876d132e94ed5a65104883b414c9b592ec4dc84826f07d0b6d9006dda176ce48c391e3f97d102e03bb598bf132a228a45f7201aba08fc524a2d77e43a362ab022ad4028f75bde3b79"), mode=2012)
         vko = hexdec("c9a9a77320e2cc559ed72dce6f47e2192ccea95fa648670582c054c0ef36c221")
-        self.assertEqual(vko_34102012256(curve, prvA, pubB, ukm), vko)
-        self.assertEqual(vko_34102012256(curve, prvB, pubA, ukm), vko)
+        self.assertEqual(kek_34102012256(curve, prvA, pubB, ukm), vko)
+        self.assertEqual(kek_34102012256(curve, prvB, pubA, ukm), vko)
 
     def test_sequence(self):
         curve = GOST3410Curve(*CURVE_PARAMS["GostR3410_2012_TC26_ParamSetA"])
@@ -70,11 +70,11 @@ class TestVKO34102012256(TestCase):
             prv2 = bytes2long(urandom(32))
             pub1 = public_key(curve, prv1)
             pub2 = public_key(curve, prv2)
-            kek1 = vko_34102012256(curve, prv1, pub2, ukm)
-            kek2 = vko_34102012256(curve, prv2, pub1, ukm)
+            kek1 = kek_34102012256(curve, prv1, pub2, ukm)
+            kek2 = kek_34102012256(curve, prv2, pub1, ukm)
             self.assertEqual(kek1, kek2)
-            kek1 = vko_34102012256(curve, prv1, pub1, ukm)
-            kek2 = vko_34102012256(curve, prv2, pub2, ukm)
+            kek1 = kek_34102012256(curve, prv1, pub1, ukm)
+            kek2 = kek_34102012256(curve, prv2, pub2, ukm)
             self.assertNotEqual(kek1, kek2)
 
 
@@ -89,8 +89,8 @@ class TestVKO34102012512(TestCase):
         prvB = prv_unmarshal(hexdec("48c859f7b6f11585887cc05ec6ef1390cfea739b1a18c0d4662293ef63b79e3b8014070b44918590b4b996acfea4edfbbbcccc8c06edd8bf5bda92a51392d0db"))
         pubB = pub_unmarshal(hexdec("192fe183b9713a077253c72c8735de2ea42a3dbc66ea317838b65fa32523cd5efca974eda7c863f4954d1147f1f2b25c395fce1c129175e876d132e94ed5a65104883b414c9b592ec4dc84826f07d0b6d9006dda176ce48c391e3f97d102e03bb598bf132a228a45f7201aba08fc524a2d77e43a362ab022ad4028f75bde3b79"), mode=2012)
         vko = hexdec("79f002a96940ce7bde3259a52e015297adaad84597a0d205b50e3e1719f97bfa7ee1d2661fa9979a5aa235b558a7e6d9f88f982dd63fc35a8ec0dd5e242d3bdf")
-        self.assertEqual(vko_34102012512(curve, prvA, pubB, ukm), vko)
-        self.assertEqual(vko_34102012512(curve, prvB, pubA, ukm), vko)
+        self.assertEqual(kek_34102012512(curve, prvA, pubB, ukm), vko)
+        self.assertEqual(kek_34102012512(curve, prvB, pubA, ukm), vko)
 
     def test_sequence(self):
         curve = GOST3410Curve(*CURVE_PARAMS["GostR3410_2012_TC26_ParamSetA"])
@@ -100,9 +100,9 @@ class TestVKO34102012512(TestCase):
             prv2 = bytes2long(urandom(32))
             pub1 = public_key(curve, prv1)
             pub2 = public_key(curve, prv2)
-            kek1 = vko_34102012512(curve, prv1, pub2, ukm)
-            kek2 = vko_34102012512(curve, prv2, pub1, ukm)
+            kek1 = kek_34102012512(curve, prv1, pub2, ukm)
+            kek2 = kek_34102012512(curve, prv2, pub1, ukm)
             self.assertEqual(kek1, kek2)
-            kek1 = vko_34102012512(curve, prv1, pub1, ukm)
-            kek2 = vko_34102012512(curve, prv2, pub2, ukm)
+            kek1 = kek_34102012512(curve, prv1, pub1, ukm)
+            kek2 = kek_34102012512(curve, prv2, pub2, ukm)
             self.assertNotEqual(kek1, kek2)