# coding: utf-8
# PyGOST -- Pure Python GOST cryptographic functions library
-# Copyright (C) 2015-2016 Sergey Matveev <stargrave@stargrave.org>
+# Copyright (C) 2015-2021 Sergey Matveev <stargrave@stargrave.org>
#
# 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
from sys import version_info
-xrange = range if version_info[0] == 3 else xrange # pylint: disable=redefined-builtin
+xrange = range if version_info[0] == 3 else xrange
def strxor(a, b):
- """ XOR of two strings
+ """XOR of two strings
This function will process only shortest length of both strings,
ignoring remaining one.
def bytes2long(raw):
- """ Deserialize big-endian bytes into long number
+ """Deserialize big-endian bytes into long number
:param bytes raw: binary string
:returns: deserialized long number
def long2bytes(n, size=32):
- """ Serialize long number into big-endian bytestring
+ """Serialize long number into big-endian bytestring
:param long n: long number
:returns: serialized bytestring
def modinvert(a, n):
- """ Modular multiplicative inverse
+ """Modular multiplicative inverse
:returns: inverse number. -1 if it does not exist