X-Git-Url: http://www.git.cypherpunks.ru/?a=blobdiff_plain;f=pygost%2Fgost34112012.py;h=b21b83c3f99b2b8dae94847fa4cf9b213fc1156a;hb=31b08d5a78505f0ae1a144e58d023d84eda2cc6e;hp=e71f388c8e4b14efa29293c4945bccff7ca174d5;hpb=b79ed604b7580f2b1d4e3eeb8685a2924c8fc64f;p=pygost.git diff --git a/pygost/gost34112012.py b/pygost/gost34112012.py index e71f388..b21b83c 100644 --- a/pygost/gost34112012.py +++ b/pygost/gost34112012.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 R 34.11-2012 (Streebog) hash function common files +"""GOST R 34.11-2012 (Streebog) hash function common files This is implementation of :rfc:`6986`. Most function and variable names are taken according to specification's terminology. @@ -27,11 +26,10 @@ from struct import unpack from pygost.iface import PEP247 from pygost.utils import hexdec from pygost.utils import strxor -from pygost.utils import xrange # pylint: disable=redefined-builtin +from pygost.utils import xrange BLOCKSIZE = 64 -# pylint: disable=bad-whitespace,bad-continuation Pi = bytearray(( 252, 238, 221, 17, 207, 110, 49, 22, 251, 196, 250, 218, 35, 197, 4, 77, 233, 119, 240, 219, 147, 46, @@ -88,7 +86,6 @@ Tau = ( 6, 14, 22, 30, 38, 46, 54, 62, 7, 15, 23, 31, 39, 47, 55, 63, ) -# pylint: disable=bad-whitespace,bad-continuation C = [hexdec("".join(s))[::-1] for s in ( ( @@ -167,7 +164,7 @@ C = [hexdec("".join(s))[::-1] for s in ( def add512bit(a, b): - """ Add two 512 integers + """Add two 512 integers """ a = bytearray(a) b = bytearray(b) @@ -216,7 +213,7 @@ def L(data): class GOST34112012(PEP247): - """ GOST 34.11-2012 big-endian hash + """GOST 34.11-2012 big-endian hash >>> m = GOST34112012(digest_size=32) >>> m.update("foo") @@ -242,12 +239,12 @@ class GOST34112012(PEP247): return self._digest_size def update(self, data): - """ Append data that has to be hashed + """Append data that has to be hashed """ self.data += data def digest(self): - """ Get hash of the provided data + """Get hash of the provided data """ hsh = BLOCKSIZE * (b"\x01" if self.digest_size == 32 else b"\x00") chk = bytearray(BLOCKSIZE * b"\x00")