1. A method of protecting computer program code, the method performed by an electronic device, the method comprising: at the electronic device, receiving a file of computer program source code that includes a particular logic operation that takes as input first and second pieces of data, wherein the logical operation, when executed, generates an output data from the first and second pieces of data; replacing the particular logic operation with a set of functions, the set of functions comprising: a first function for masking the first piece of data by performing deconstruction of the first piece of data, wherein each bit of the first piece of data is deconstructed by a different base value; a second function for masking the second piece of data by performing a bitwise-deconstruction of the second piece of data, wherein each bit of the second piece of data is deconstructed by a different base value; a binary operator that computes a masked value by applying a binary code equivalent of the particular logic operation to the masked first piece of data and the masked second piece of data; and a recovery function that requires an input of the masked value and generates as an output the output data that the particular logic operation would generate from the first and second pieces of data.