From 11349d1699832e94cbc079371d7bc6863d2cf856 Mon Sep 17 00:00:00 2001 From: Thomas Waldmann Date: Mon, 29 Aug 2016 18:11:12 +0200 Subject: [PATCH] move IV type check to set_iv method --- src/borg/crypto/low_level.pyx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/borg/crypto/low_level.pyx b/src/borg/crypto/low_level.pyx index 2c7aba1fa..4bdd0abdd 100644 --- a/src/borg/crypto/low_level.pyx +++ b/src/borg/crypto/low_level.pyx @@ -209,7 +209,6 @@ cdef class AES256_CTR_HMAC_SHA256: self.iv_len = 16 self.iv_len_short = 8 self.mac_len = 32 - assert iv is None or isinstance(iv, bytes) and len(iv) == self.iv_len self.mac_key = mac_key self.enc_key = enc_key if iv is not None: @@ -326,6 +325,7 @@ cdef class AES256_CTR_HMAC_SHA256: return (length + self.cipher_blk_len - 1) // self.cipher_blk_len def set_iv(self, iv): + assert isinstance(iv, bytes) and len(iv) == self.iv_len self.blocks = 0 # how many AES blocks got encrypted with this IV? for i in range(self.iv_len): self.iv[i] = iv[i] @@ -364,7 +364,6 @@ cdef class _AEAD_BASE: assert isinstance(enc_key, bytes) and len(enc_key) == 32 self.iv_len = 12 self.mac_len = 16 - assert iv is None or isinstance(iv, bytes) and len(iv) == self.iv_len self.enc_key = enc_key if iv is not None: self.set_iv(iv) @@ -484,6 +483,7 @@ cdef class _AEAD_BASE: return (length + self.cipher_blk_len - 1) // self.cipher_blk_len def set_iv(self, iv): + assert isinstance(iv, bytes) and len(iv) == self.iv_len self.blocks = 0 # number of cipher blocks encrypted with this IV for i in range(self.iv_len): self.iv[i] = iv[i]