Расшифрование текста режим CTR

Необходимо расшифровать текст при помощи CTR (режим реализовывала сама, поскольку нельзя пользоваться встроенным). Подскажите, пожалуйста, в чем ошибка. IV - первые 16 байт сообщения. Часть кода AesDecrypt:

    blocks = SplitText(data, self.block_size)
    open_texts = []

elif mode == 'CTR':
        vector = int.from_bytes(blocks[0], 'big')
        print('iv'+str(int(iv.hex(), 16)))
        for i in range(len(blocks)):
            open_texts.append(strxor(self.AESBlockEncrypt(vector.to_bytes(self.block_size, 'big'), False, None)[:len(blocks[i])], blocks[i]))
            vector += 1
        full_data = concat_bytes(open_texts)
        try:
            res = unpad(full_data, self.block_size)
        except ValueError:
            res = full_data
        return res

Код AesBlockEncrypt

def AESBlockEncrypt(self, data, isFinalBLock, padding):
    msg = None
    if isFinalBLock == False:
        msg = self.cipher.encrypt(data)
    else:
        print(pad(data, self.block_size, style=padding))
        msg = self.cipher.encrypt(pad(data, self.block_size, style=padding))
        print('padding' + str(msg))
    print('block'+str(msg))
    return msg

Вызов функции

key2 = bytes.fromhex("36f18357be4dbd77f050515c73fcf9f2")
    data4 = bytes.fromhex("770b80259ec33beb2561358a9f2dc617e46218c0a53cbeca695ae45faa8952aa0e311bde9d4e01726d3184c34451")
    cipher12 = AES.new(key2, AES.MODE_ECB)
    block_cipher12 = BlockCiphers(block_size, cipher12)
    ot6 = block_cipher12.AesDecrypt(data4, 'CTR', data4[:block_size])
    print(ot6)

Ответы (0 шт):