Patent ID: 7881466

Claim:
A computer-implemented method of providing a cryptographic function F to an execution device in obfuscated form; the function F, when executed by a processor in the execution device, cryptographically converting an input x from a predetermined domain D to an output y, wherein y=F(x) and using a plurality of non-linear mapping tables T i (0≦i≦n; n≧0, each with key-like information and operating on a respective part D i of the domain D, the function F composing output of the mapping tables using an Abelian group operator ; the method including: choosing a table O and a table C such that C[x] O[x]=0, ∀xεD i ; creating a plurality of tables T′ i , 0≦i≦m; n≦m≦n+1, where for 0≦i≦n, each table T′ i represents the respective corresponding table T i and at least one of those tables T′ i , 0≦o 1 ≦n, hereinafter referred to as obfuscated table, being formed through a composition, using the Abelian group operator, of the corresponding table T o 1 and the table O, and at least one of the other tables T′ c 1 , 0≦c 1 ≦m, c 1 ≠o 1 , hereinafter referred to as compensating table, being formed through a composition, using the Abelian group operator, that includes the table C; providing the plurality of tables T′ i , 0≦i≦m; n≦m≦n+1 the executing device; and at the executing device, forming a function F′ that is functionally equivalent to the cryptographic function F by composing the plurality of tables T′ i , 0≦i≦m, using the Abelian group operator, such that the tables O and C are compensated through the composition.