ByteSequence bytes = ByteSequence.fromHexString(cipher);
ByteSequence plain = ByteSequence.EMPTY_SEQUENCE;
BlockSequence blocks = new BlockSequence(blockLength, bytes);
for (int i = 1; i < blocks.length(); i++) {
ByteSequence iv = blocks.blockAt(i - 1);
ByteSequence block = blocks.blockAt(i);
boolean lastBlock = (i == blocks.length() - 1);
try {
ByteSequence plainBlock = decryptBlock(iv, block);
if (lastBlock) {