Patent ID: 7966499

Claim:
A computer implemented method for transforming a software program from an original form to a more secure form by disguising an operation contained in said software program, said operation having at least one variable, the method comprising: a) identifying by a computer said operation to be disguised in said program; b) assigning by the computer a randomly chosen bias constant and a randomly chosen scaling constant to each variable in said identified operation; c) determining by the computer an equivalent expression logically equivalent to said operation, said equivalent expression having at least one variable and at least two expression constants, each of said at least two expression constants being based on at least one factor dependent on said randomly chosen scaling constant (s) assigned to one of said at least one variable and said randomly chosen bias constant (b) assigned to one of said at least one variable, and at least one of an additive inverse modulo n (b^−1) of said bias constant where said additive inverse modulo n is the value for b^−1 where (b+b^−1) mod n=0, and a multiplicative inverse modulo n (s^−1) of said scaling constant where said multiplicative inverse modulo n is the value for s^−1 where (s*s^−1) mod n=1; d) transforming by the computer said software program into a more secure software program by replacing said operation with said equivalent expression in said software program.