from unittest import TestCase
from pygost.gost3412 import C
-from pygost.gost3412 import GOST3412Kuz
+from pygost.gost3412 import GOST3412Kuznechik
from pygost.gost3412 import L
from pygost.gost3412 import PI
from pygost.utils import hexdec
self.assertEqual(C[7], hexdec("f6593616e6055689adfba18027aa2a08"))
def test_roundkeys(self):
- ciph = GOST3412Kuz(self.key)
+ ciph = GOST3412Kuznechik(self.key)
self.assertEqual(ciph.ks[0], hexdec("8899aabbccddeeff0011223344556677"))
self.assertEqual(ciph.ks[1], hexdec("fedcba98765432100123456789abcdef"))
self.assertEqual(ciph.ks[2], hexdec("db31485315694343228d6aef8cc78c44"))
self.assertEqual(ciph.ks[9], hexdec("72e9dd7416bcf45b755dbaa88e4a4043"))
def test_encrypt(self):
- ciph = GOST3412Kuz(self.key)
+ ciph = GOST3412Kuznechik(self.key)
self.assertEqual(ciph.encrypt(self.plaintext), self.ciphertext)
def test_decrypt(self):
- ciph = GOST3412Kuz(self.key)
+ ciph = GOST3412Kuznechik(self.key)
self.assertEqual(ciph.decrypt(self.ciphertext), self.plaintext)
from random import randint
from unittest import TestCase
-from pygost.gost3412 import GOST3412Kuz
+from pygost.gost3412 import GOST3412Kuznechik
from pygost.gost3413 import _mac_ks
from pygost.gost3413 import cbc_decrypt
from pygost.gost3413 import cbc_encrypt
)
-class GOST3412KuzModesTest(TestCase):
+class GOST3412KuznechikModesTest(TestCase):
key = hexdec("8899aabbccddeeff0011223344556677fedcba98765432100123456789abcdef")
- ciph = GOST3412Kuz(key)
+ ciph = GOST3412Kuznechik(key)
plaintext = ""
plaintext += "1122334455667700ffeeddccbbaa9988"
plaintext += "00112233445566778899aabbcceeff0a"
def test_ecb_symmetric(self):
for _ in range(100):
pt = pad2(urandom(randint(0, 16 * 2)), 16)
- ciph = GOST3412Kuz(urandom(32))
+ ciph = GOST3412Kuznechik(urandom(32))
ct = ecb_encrypt(ciph.encrypt, 16, pt)
self.assertSequenceEqual(ecb_decrypt(ciph.decrypt, 16, ct), pt)
for _ in range(100):
pt = urandom(randint(0, 16 * 2))
iv = urandom(8)
- ciph = GOST3412Kuz(urandom(32))
+ ciph = GOST3412Kuznechik(urandom(32))
ct = ctr(ciph.encrypt, 16, pt, iv)
self.assertSequenceEqual(ctr(ciph.encrypt, 16, ct, iv), pt)
for _ in range(100):
pt = urandom(randint(0, 16 * 2))
iv = urandom(16 * 2)
- ciph = GOST3412Kuz(urandom(32))
+ ciph = GOST3412Kuznechik(urandom(32))
ct = ofb(ciph.encrypt, 16, pt, iv)
self.assertSequenceEqual(ofb(ciph.encrypt, 16, ct, iv), pt)
for _ in range(100):
pt = pad2(urandom(randint(0, 16 * 2)), 16)
iv = urandom(16 * 2)
- ciph = GOST3412Kuz(urandom(32))
+ ciph = GOST3412Kuznechik(urandom(32))
ct = cbc_encrypt(ciph.encrypt, 16, pt, iv)
self.assertSequenceEqual(cbc_decrypt(ciph.decrypt, 16, ct, iv), pt)
for _ in range(100):
pt = urandom(randint(0, 16 * 2))
iv = urandom(16 * 2)
- ciph = GOST3412Kuz(urandom(32))
+ ciph = GOST3412Kuznechik(urandom(32))
ct = cfb_encrypt(ciph.encrypt, 16, pt, iv)
self.assertSequenceEqual(cfb_decrypt(ciph.encrypt, 16, ct, iv), pt)
def test_mac_applies(self):
for _ in range(100):
data = urandom(randint(0, 16 * 2))
- ciph = GOST3412Kuz(urandom(32))
+ ciph = GOST3412Kuznechik(urandom(32))
mac(ciph.encrypt, 16, data)