def multiply(number_1, number_2):
    """
    This function is used to perform finite field multiplication, which is the core operation of the MixColumn step.

    :param number_1: The first number which involve the multiplication.
    :param number_2: The second number which involve the multiplication.
    :return: A decimal integer
    """
    result_list = [number_1]
    for x in range(7):
        if number_1 >= 0x80:
            result = ((number_1 << 1) & 0xff) ^ 0x1b
            result_list.append(result)
            number_1 = result
        else:
            result = number_1 << 1
            result_list.append(result)
            number_1 = result
    result_list.reverse()
    final_result = 0
    zipper = zip('{:08b}'.format(number_2), result_list)
    for x in zipper:
        if int(x[0]) != 0:
            final_result ^= x[1]
        else:
            pass
    return final_result