Abstract: A method of protecting a program interpreted by a virtual machine comprises the inclusion of interference operations during the execution of each program instruction. The scrambling operations are selected according to a program digest, so as to vary when a single instruction belongs to two different programs. In this way, any attempt at reverse engineering from side channels is made possible.