X-Git-Url: http://www.git.cypherpunks.ru/?a=blobdiff_plain;f=pygost%2Fgost28147_mac.py;h=4a257c56f4536169a85622d4729873513851f711;hb=31b08d5a78505f0ae1a144e58d023d84eda2cc6e;hp=adcd464ed7b8bb3458efa1460094b0e4acab8f36;hpb=b79ed604b7580f2b1d4e3eeb8685a2924c8fc64f;p=pygost.git diff --git a/pygost/gost28147_mac.py b/pygost/gost28147_mac.py index adcd464..4a257c5 100644 --- a/pygost/gost28147_mac.py +++ b/pygost/gost28147_mac.py @@ -1,11 +1,10 @@ # coding: utf-8 # PyGOST -- Pure Python GOST cryptographic functions library -# Copyright (C) 2015-2016 Sergey Matveev +# Copyright (C) 2015-2020 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 @@ -14,7 +13,7 @@ # # You should have received a copy of the GNU General Public License # along with this program. If not, see . -""" GOST 28147-89 MAC +"""GOST 28147-89 MAC """ from copy import copy @@ -30,7 +29,7 @@ from pygost.gost28147 import xcrypt from pygost.gost3413 import pad1 from pygost.iface import PEP247 from pygost.utils import strxor -from pygost.utils import xrange # pylint: disable=redefined-builtin +from pygost.utils import xrange digest_size = 8 SEQ_MAC = ( @@ -40,7 +39,7 @@ SEQ_MAC = ( class MAC(PEP247): - """ GOST 28147-89 MAC mode of operation + """GOST 28147-89 MAC mode of operation >>> m = MAC(key=key) >>> m.update("some data") @@ -71,12 +70,12 @@ class MAC(PEP247): return MAC(self.key, copy(self.data), self.iv, self.sbox) def update(self, data): - """ Append data that has to be authenticated + """Append data that has to be authenticated """ self.data += data def digest(self): - """ Get MAC tag of supplied data + """Get MAC tag of supplied data You have to provide at least single byte of data. If you want to produce tag length of 3 bytes, then