]> Cypherpunks.ru repositories - pygost.git/blobdiff - pygost/gost3413.py
Forbid any later GNU GPL versions autousage
[pygost.git] / pygost / gost3413.py
index 5be6bc81735ab842c145c9f9a2904081abc3eb63..15f83061ffd1d598c2663df0677a911b97df1165 100644 (file)
@@ -1,11 +1,10 @@
 # coding: utf-8
 # PyGOST -- Pure Python GOST cryptographic functions library
-# Copyright (C) 2015-2018 Sergey Matveev <stargrave@stargrave.org>
+# Copyright (C) 2015-2019 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
@@ -128,11 +127,11 @@ def ofb(encrypter, bs, data, iv):
     :param encrypter: Encrypting function, that takes block as an input
     :param int bs: cipher's blocksize
     :param bytes data: plaintext/ciphertext
-    :param bytes iv: double blocksize-sized initialization vector
+    :param bytes iv: blocksize-sized initialization vector
 
     For decryption you use the same function again.
     """
-    if len(iv) < 2 * bs or len(iv) % bs != 0:
+    if len(iv) < bs or len(iv) % bs != 0:
         raise ValueError("Invalid IV size")
     r = [iv[i:i + bs] for i in range(0, len(iv), bs)]
     result = []
@@ -148,11 +147,11 @@ def cbc_encrypt(encrypter, bs, pt, iv):
     :param encrypter: Encrypting function, that takes block as an input
     :param int bs: cipher's blocksize
     :param bytes pt: already padded plaintext
-    :param bytes iv: double blocksize-sized initialization vector
+    :param bytes iv: blocksize-sized initialization vector
     """
     if not pt or len(pt) % bs != 0:
         raise ValueError("Plaintext is not blocksize aligned")
-    if len(iv) < 2 * bs or len(iv) % bs != 0:
+    if len(iv) < bs or len(iv) % bs != 0:
         raise ValueError("Invalid IV size")
     r = [iv[i:i + bs] for i in range(0, len(iv), bs)]
     ct = []
@@ -168,11 +167,11 @@ def cbc_decrypt(decrypter, bs, ct, iv):
     :param decrypter: Decrypting function, that takes block as an input
     :param int bs: cipher's blocksize
     :param bytes ct: ciphertext
-    :param bytes iv: double blocksize-sized initialization vector
+    :param bytes iv: blocksize-sized initialization vector
     """
     if not ct or len(ct) % bs != 0:
         raise ValueError("Ciphertext is not blocksize aligned")
-    if len(iv) < 2 * bs or len(iv) % bs != 0:
+    if len(iv) < bs or len(iv) % bs != 0:
         raise ValueError("Invalid IV size")
     r = [iv[i:i + bs] for i in range(0, len(iv), bs)]
     pt = []
@@ -189,9 +188,9 @@ def cfb_encrypt(encrypter, bs, pt, iv):
     :param encrypter: Encrypting function, that takes block as an input
     :param int bs: cipher's blocksize
     :param bytes pt: plaintext
-    :param bytes iv: double blocksize-sized initialization vector
+    :param bytes iv: blocksize-sized initialization vector
     """
-    if len(iv) < 2 * bs or len(iv) % bs != 0:
+    if len(iv) < bs or len(iv) % bs != 0:
         raise ValueError("Invalid IV size")
     r = [iv[i:i + bs] for i in range(0, len(iv), bs)]
     ct = []
@@ -207,9 +206,9 @@ def cfb_decrypt(encrypter, bs, ct, iv):
     :param encrypter: Encrypting function, that takes block as an input
     :param int bs: cipher's blocksize
     :param bytes ct: ciphertext
-    :param bytes iv: double blocksize-sized initialization vector
+    :param bytes iv: blocksize-sized initialization vector
     """
-    if len(iv) < 2 * bs or len(iv) % bs != 0:
+    if len(iv) < bs or len(iv) % bs != 0:
         raise ValueError("Invalid IV size")
     r = [iv[i:i + bs] for i in range(0, len(iv), bs)]
     pt = []