summaryrefslogtreecommitdiff
path: root/pygost
diff options
context:
space:
mode:
Diffstat (limited to 'pygost')
-rw-r--r--pygost/gost28147.py12
-rw-r--r--pygost/gost341194.py3
-rw-r--r--pygost/stubs/pygost/gost28147.pyi3
3 files changed, 4 insertions, 14 deletions
diff --git a/pygost/gost28147.py b/pygost/gost28147.py
index b6f3cf4..25c0f50 100644
--- a/pygost/gost28147.py
+++ b/pygost/gost28147.py
@@ -186,12 +186,6 @@ def ns2block(ns):
)))
-def addmod(x, y, mod=2 ** 32):
- """ Modulo adding of two integers
- """
- return (x + y) % mod
-
-
def _shift11(x):
""" 11-bit cyclic shift
"""
@@ -235,7 +229,7 @@ def xcrypt(seq, sbox, key, ns):
]
n1, n2 = ns
for i in seq:
- n1, n2 = _shift11(_K(s, addmod(n1, x[i]))) ^ n2, n1
+ n1, n2 = _shift11(_K(s, (n1 + x[i]) % (2 ** 32))) ^ n2, n1
return n1, n2
@@ -372,8 +366,8 @@ def cnt(key, data, iv=8 * b"\x00", sbox=DEFAULT_SBOX):
n2, n1 = encrypt(sbox, key, block2ns(iv))
gamma = []
for _ in xrange(0, len(data) + pad_size(len(data), BLOCKSIZE), BLOCKSIZE):
- n1 = addmod(n1, C2, 2 ** 32)
- n2 = addmod(n2, C1, 2 ** 32 - 1)
+ n1 = (n1 + C2) % (2 ** 32)
+ n2 = (n2 + C1) % (2 ** 32 - 1)
gamma.append(ns2block(encrypt(sbox, key, (n1, n2))))
return strxor(b"".join(gamma), data)
diff --git a/pygost/gost341194.py b/pygost/gost341194.py
index 6d58efd..4ffb45e 100644
--- a/pygost/gost341194.py
+++ b/pygost/gost341194.py
@@ -23,7 +23,6 @@ from copy import copy
from functools import partial
from struct import pack
-from pygost.gost28147 import addmod
from pygost.gost28147 import block2ns
from pygost.gost28147 import encrypt
from pygost.gost28147 import ns2block
@@ -167,7 +166,7 @@ class GOST341194(PEP247):
for i in xrange(0, len(m), BLOCKSIZE):
part = m[i:i + BLOCKSIZE][::-1]
_len += len(part) * 8
- checksum = addmod(checksum, int(hexenc(part), 16), 2 ** 256)
+ checksum = (checksum + int(hexenc(part), 16)) % (2 ** 256)
if len(part) < BLOCKSIZE:
part = b"\x00" * (BLOCKSIZE - len(part)) + part
h = _step(h, part, self.sbox)
diff --git a/pygost/stubs/pygost/gost28147.pyi b/pygost/stubs/pygost/gost28147.pyi
index d0f17db..0c513e0 100644
--- a/pygost/stubs/pygost/gost28147.pyi
+++ b/pygost/stubs/pygost/gost28147.pyi
@@ -16,9 +16,6 @@ def block2ns(data: bytes) -> Words: ...
def ns2block(ns: Words) -> bytes: ...
-def addmod(x: int, y: int, mod: int=...) -> int: ...
-
-
def validate_key(key: bytes) -> None: ...