1. A method of performing a keyed cryptographic operation by a white-box implementation of a cryptographic system providing cryptographic functions on a processor running the white-box implementation, the cryptographic system mapping an input message to an output message, wherein the cryptographic operation includes at least one round including a non-linear mapping function configured to map input data to output data, comprising: selecting n pairs of mappings, by the cryptographic system, based upon the input data, wherein the n pairs of mappings include a first mapping and a second mapping, wherein the first and second mappings are a set of self-equivalences of the non-linear function, and wherein a combination of the second mappings of the output of the non-linear function results in a known function of the output of the non-linear function when the input data is input to the non-linear function; splitting, by the cryptographic system, the input data into n split input data by calculating the first mapping of the input data for each of the n first input mappings, wherein inputting each split input data into the non-linear mapping function further includes inputting ƒ −1 ∘α 1 ∘ƒ(x) wherein the function f carries out a key addition function on input data x and α i is the i th first mapping; inputting each of the n split input data into the non-linear mapping function to obtain n split output data.