def METHOD_NAME(data_instances, curve_instance, reserve_original_key=False, hash_operator=None, salt='',
                reserve_original_value=False):
    """
    Encrypt the key (ID) of input Table
    :param curve: curve object
    :param data_instance: Table
    :param reserve_original_key: (enc_key, ori_key) if reserve_original_key == True, otherwise (enc_key, -1)
    :param hash_operator: if provided, use map_hash_encrypt
    :param salt: if provided, use for map_hash_encrypt
    : param reserve_original_value:
        (enc_key, (ori_key, val)) for reserve_original_key == True and reserve_original_value==True;
        (ori_key, (enc_key, val)) for only reserve_original_value == True.
    :return:
    """
    mode = EcdhIntersect.get_mode(reserve_original_key, reserve_original_value)
    if hash_operator is not None:
        return curve_instance.map_hash_encrypt(data_instances, mode=mode, hash_operator=hash_operator, salt=salt)
    return curve_instance.map_encrypt(data_instances, mode=mode)