def find_first_different_block(cipher_bytes1, cipher_bytes2, block_size):
    """
        If there are differences in cipher_bytes (in a block), return index of 1st byte in that block.
        If they are the same, return -1.
        If they have different length, and everything is the same (except those longer blocks), return index
        of 1st byte in longer block, which is len(shorter_byte) + 1
    """

    # make sure byte2 is the shorter block
    if len(cipher_bytes2) > len(cipher_bytes1):
        cipher_bytes1, cipher_bytes2 = cipher_bytes2, cipher_bytes1

    # compare
    for start in range(0, len(cipher_bytes2), block_size):
        end = start + block_size
        if cipher_bytes1[start:end] != cipher_bytes2[start:end]:
            return start

    # everything is equal, check their length
    if len(cipher_bytes2) == len(cipher_bytes1):
        return -1
    else:
        return len(cipher_bytes2) + 1