A computer-implemented method for securely performing a parameter update, comprising steps of: - obtaining (S10; S01), by at least one first entity or by an orchestrator entity different from the at least one first entity and from a second entity, a function and parameter data from the second entity, wherein the function is expected to output an output value as well as a gradient of a loss function; - selecting, by the at least one first entity or by the orchestrator entity, a plurality of data samples provided by the at least one first entity; - providing, by the at least one first entity, a plurality of mutually isolated computing instances; - assigning, by the at least one first entity or by the orchestrator entity, the selected data samples to the isolated computing instances such that all of the selected data samples are assigned to isolated computing instances and such that to each isolated computing instance at least one data sample is assigned; - providing, by the at least one first entity, the data samples to the respective isolated computing instance to which they are assigned, along with the obtained function and parameter data; - calculating, within each isolated computing instance, results of the obtained function based on the at least one data sample assigned to it; - calculating, by the at least one first entity or by the orchestrator entity, averages, comprising an average for the output value and an average for the gradient of the loss function over the results calculated by all the isolated computing instances; - determining (S100; S02), by the at least one first entity or by the orchestrator entity, whether the obtained function fulfils at least one predefined security criterion, and, if that is the case: - providing, by the at least one first entity or the orchestrator entity, the calculated average for the gradient of the loss function and/or the calculated average of the output value and/or updated parameter data to the second entity. - obtaining (S10; S01), by at least one first entity or by an orchestrator entity different from the at least one first entity and from a second entity, a function and parameter data from the second entity, wherein the function is expected to output an output value as well as a gradient of a loss function; - selecting, by the at least one first entity or by the orchestrator entity, a plurality of data samples provided by the at least one first entity; - providing, by the at least one first entity, a plurality of mutually isolated computing instances; - assigning, by the at least one first entity or by the orchestrator entity, the selected data samples to the isolated computing instances such that all of the selected data samples are assigned to isolated computing instances and such that to each isolated computing instance at least one data sample is assigned; - providing, by the at least one first entity, the data samples to the respective isolated computing instance to which they are assigned, along with the obtained function and parameter data; - calculating, within each isolated computing instance, results of the obtained function based on the at least one data sample assigned to it; - calculating, by the at least one first entity or by the orchestrator entity, averages, comprising an average for the output value and an average for the gradient of the loss function over the results calculated by all the isolated computing instances; - determining (S100; S02), by the at least one first entity or by the orchestrator entity, whether the obtained function fulfils at least one predefined security criterion, and, if that is the case: - providing, by the at least one first entity or the orchestrator entity, the calculated average for the gradient of the loss function and/or the calculated average of the output value and/or updated parameter data to the second entity.