]> Cypherpunks.ru repositories - pygost.git/commitdiff
34.13-2015 does not require double blocksized IVs
authorSergey Matveev <stargrave@stargrave.org>
Sun, 29 Apr 2018 20:52:26 +0000 (23:52 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Sun, 9 Dec 2018 10:01:00 +0000 (13:01 +0300)
NEWS
pygost/gost3413.py
www.texi

diff --git a/NEWS b/NEWS
index 6feb6b8158e4936e9a39a51fc93becc5b15ab7a8..a0ea75bf13efc3d72ccebfc7aee08ca6dce64487 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,6 @@
 3.8:
     * 34.11-2012 based PBKDF2 function added
+    * 34.13-2015 does not require double blocksized IVs
 
 3.7:
     Fixed 34.13-2015 OFB bug with IVs longer than 2 blocks.
index 5be6bc81735ab842c145c9f9a2904081abc3eb63..a350915ba3631f61892c918318a35c00b64d9092 100644 (file)
@@ -128,11 +128,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 +148,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 +168,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 +189,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 +207,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 = []
index 93c27ca31b1b43125ee6e22358814edf434ce989..5d2e8edb4a31780a16b029bbb076b48008da842f 100644 (file)
--- a/www.texi
+++ b/www.texi
@@ -94,6 +94,7 @@ mailing list. Announcements also go to this mailing list.
 @item 3.8
     @itemize
     @item 34.11-2012 based PBKDF2 function added
+    @item 34.13-2015 does not require double blocksized IVs
     @end itemize
 
 @item 3.7