X-Git-Url: http://www.git.cypherpunks.ru/?p=pygost.git;a=blobdiff_plain;f=pygost%2Fgost3413.py;h=5aeaec63ef415091ae3de81b64facb57e0af62bd;hp=495a3f9e343826ed430616f88b63c4ead6ca5b60;hb=7e5fe8586c0f17834a8df558b7ca86c5d7accd3e;hpb=c9abb42693dfe8288aecb7ef064b907be0561629 diff --git a/pygost/gost3413.py b/pygost/gost3413.py index 495a3f9..5aeaec6 100644 --- a/pygost/gost3413.py +++ b/pygost/gost3413.py @@ -24,7 +24,7 @@ from pygost.utils import strxor from pygost.utils import xrange -KEY_SIZE = 32 +KEYSIZE = 32 def pad_size(data_size, blocksize): @@ -112,7 +112,7 @@ def acpkm(encrypter, bs): """ return b"".join([ encrypter(bytes(bytearray(range(d, d + bs)))) - for d in range(0x80, 0x80 + bs * (KEY_SIZE // bs), bs) + for d in range(0x80, 0x80 + bs * (KEYSIZE // bs), bs) ]) @@ -346,17 +346,17 @@ def mac_acpkm_master(algo_class, encrypter, key_section_size, section_size, bs, encrypter, key_section_size, bs, - (KEY_SIZE + bs) * sections, + (KEYSIZE + bs) * sections, ) for i in xrange(0, tail_offset, bs): if i % section_size == 0: - keymat, keymats = keymats[:KEY_SIZE + bs], keymats[KEY_SIZE + bs:] - key, k1 = keymat[:KEY_SIZE], keymat[KEY_SIZE:] + keymat, keymats = keymats[:KEYSIZE + bs], keymats[KEYSIZE + bs:] + key, k1 = keymat[:KEYSIZE], keymat[KEYSIZE:] encrypter = algo_class(key).encrypt prev = encrypter(strxor(data[i:i + bs], prev)) tail = data[tail_offset:] if len(tail) == bs: - key, k1 = keymats[:KEY_SIZE], keymats[KEY_SIZE:] + key, k1 = keymats[:KEYSIZE], keymats[KEYSIZE:] encrypter = algo_class(key).encrypt k2 = long2bytes(bytes2long(k1) << 1, size=bs) if bytearray(k1)[0] & 0x80 != 0: