X-Git-Url: http://www.git.cypherpunks.ru/?p=pygost.git;a=blobdiff_plain;f=pygost%2Ftest_wrap.py;h=3a0d9758af3bd81b04045b9805ecbc71ee0a0f7c;hp=b9d376d5c5fe93822dc21a726b56a4b2b1f3fe2a;hb=3374d4b8a5a58941e309b13524067ffa8d410d45;hpb=af588237f6df6258e4c05b76fe99ee8b5955b0c5 diff --git a/pygost/test_wrap.py b/pygost/test_wrap.py index b9d376d..3a0d975 100644 --- a/pygost/test_wrap.py +++ b/pygost/test_wrap.py @@ -17,6 +17,7 @@ from os import urandom from unittest import TestCase +from pygost.gost28147 import DEFAULT_SBOX from pygost.gost3412 import GOST3412Kuznechik from pygost.gost3412 import GOST3412Magma from pygost.utils import hexdec @@ -30,13 +31,14 @@ from pygost.wrap import wrap_gost class WrapGostTest(TestCase): def test_symmetric(self): - for _ in range(1 << 8): - kek = urandom(32) - cek = urandom(32) - ukm = urandom(8) - wrapped = wrap_gost(ukm, kek, cek) - unwrapped = unwrap_gost(kek, wrapped) - self.assertSequenceEqual(unwrapped, cek) + for sbox in (DEFAULT_SBOX, "id-tc26-gost-28147-param-Z"): + for _ in range(1 << 8): + kek = urandom(32) + cek = urandom(32) + ukm = urandom(8) + wrapped = wrap_gost(ukm, kek, cek, sbox=sbox) + unwrapped = unwrap_gost(kek, wrapped, sbox=sbox) + self.assertSequenceEqual(unwrapped, cek) def test_invalid_length(self): with self.assertRaises(ValueError): @@ -47,13 +49,14 @@ class WrapGostTest(TestCase): class WrapCryptoproTest(TestCase): def test_symmetric(self): - for _ in range(1 << 8): - kek = urandom(32) - cek = urandom(32) - ukm = urandom(8) - wrapped = wrap_cryptopro(ukm, kek, cek) - unwrapped = unwrap_cryptopro(kek, wrapped) - self.assertSequenceEqual(unwrapped, cek) + for sbox in (DEFAULT_SBOX, "id-tc26-gost-28147-param-Z"): + for _ in range(1 << 8): + kek = urandom(32) + cek = urandom(32) + ukm = urandom(8) + wrapped = wrap_cryptopro(ukm, kek, cek, sbox=sbox) + unwrapped = unwrap_cryptopro(kek, wrapped, sbox=sbox) + self.assertSequenceEqual(unwrapped, cek) class TestVectorKExp15(TestCase):