X-Git-Url: http://www.git.cypherpunks.ru/?a=blobdiff_plain;f=pygost%2Fgost3412.py;h=0dce23f4c0eefa4e3076b3055956ade3ff8b06e3;hb=9af4461c6af50f9cf83030867e7054d1f6311b32;hp=7b4cc780253cf54e38123c811d1a5fa2762b8ee6;hpb=0fcc8bc147ada51d2a9a912f18ac362d54b7d49a;p=pygost.git diff --git a/pygost/gost3412.py b/pygost/gost3412.py index 7b4cc78..0dce23f 100644 --- a/pygost/gost3412.py +++ b/pygost/gost3412.py @@ -1,11 +1,10 @@ # coding: utf-8 # PyGOST -- Pure Python GOST cryptographic functions library -# Copyright (C) 2015-2019 Sergey Matveev +# Copyright (C) 2015-2021 Sergey Matveev # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. +# the Free Software Foundation, version 3 of the License. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -24,9 +23,11 @@ from pygost.gost28147 import decrypt as gost28147_decrypt from pygost.gost28147 import encrypt as gost28147_encrypt from pygost.gost28147 import ns2block as gost28147_ns2block from pygost.utils import strxor -from pygost.utils import xrange # pylint: disable=redefined-builtin +from pygost.utils import xrange +KEYSIZE = 32 + LC = bytearray(( 148, 32, 133, 16, 194, 192, 1, 251, 1, 192, 194, 16, 133, 32, 148, 1, )) @@ -124,6 +125,8 @@ def lp(blk): class GOST3412Kuznechik(object): """GOST 34.12-2015 128-bit block cipher Кузнечик (Kuznechik) """ + blocksize = 16 + def __init__(self, key): """ :param key: encryption/decryption key @@ -157,6 +160,8 @@ class GOST3412Kuznechik(object): class GOST3412Magma(object): """GOST 34.12-2015 64-bit block cipher Магма (Magma) """ + blocksize = 8 + def __init__(self, key): """ :param key: encryption/decryption key