def decrypt_block(self, c_i):
    if (not isinstance(c_i, bytearray)):
        raise PaddownException(f'block c_i not an instance of {bytearray}')
    c_previous = bytearray((b'\x00' * self.blocksize))
    intermediate = bytearray((b'\x00' * self.blocksize))
    for i in range(self.blocksize):
        self.progress_bar(i, (self.blocksize - 1), 'Decrypting ')
        for j in range(i):
            c_previous[((self.blocksize - 1) - j)] = (intermediate[((self.blocksize - 1) - j)] ^ (i + 1))
        c_prime = self.find_c_prime_at_index((c_previous + c_i), ((self.blocksize - 1) - i))
        intermediate[((self.blocksize - 1) - i)] = (c_prime ^ (i + 1))
        logger.debug(f'intermediate: {[hex(x)[2:] for x in intermediate]}')
    return intermediate
def decrypt_block(self, c_i):
    if (not isinstance(c_i, bytearray)):
        raise PaddownException(f'block c_i not an instance of {bytearray}')
    c_previous = bytearray((b'\x00' * self.blocksize))
    intermediate = bytearray((b'\x00' * self.blocksize))
    for i in range(self.blocksize):
        self.progress_bar(i, (self.blocksize - 1), 'Decrypting ')
        for j in range(i):
            c_previous[((self.blocksize - 1) - j)] = (intermediate[((self.blocksize - 1) - j)] ^ (i + 1))
        c_prime = self.find_c_prime_at_index((c_previous + c_i), ((self.blocksize - 1) - i))
        intermediate[((self.blocksize - 1) - i)] = (c_prime ^ (i + 1))
        logger.debug(f'intermediate: {[hex(x)[2:] for x in intermediate]}')
    return intermediate