private static byte[] getSecondHalf(byte[] block) {
        byte[] temp = Arrays.copyOfRange(block, block.length / 2, block.length);
        // middle of block is in the middle of a byte
        if ( (block.length / 2d) % 1 == 0.5) {
            temp = ByteHelper.rotateLeft(temp, temp.length * 8, 4);
        }
        return temp;
    }