Patent ID: 8347110
Filing Date: 2013-01-01
Classification: G06F

Abstract:
1. A method for executing a program interpreted by a virtual machine, said virtual machine comprising: means for reading a program instruction; means for translating the instruction read into a sequence of operations to be carried out by the virtual machine when the program is being executed; and means for carrying out the operations of the sequence corresponding to the translated instructions, said program comprising a series of instructions and each instruction being translated into the sequence of operations carried out by the virtual machine when the program is being executed, the method comprising the following stages: obtaining a program digest based on the program; introducing, in the sequences of operations which correspond respectively to at least some of the program instructions, additional operations to be carried out while these instructions are being carried out, said additional operations not participating in a result of the program being executed and being selected as a function of the program digest, wherein the additional operations introduced in the sequences of operations are the same between successive executions of the program; and executing the program based on the sequences of operations including the additional operations, by using all of said means of the virtual machine, of carrying out the operations of the sequences corresponding to the translated instructions, wherein at least some of the additional operations are selected as a function of the program digest in a set of operations comprising a ROM (Read Only Memory) reading, an EEPROM (Electronically Erasable Programmable Read Only Memory) reading, a RAM (Random Access Memory) erasure, a cryptographic calculation, a data recopying, a writing to a memory, an activation of a charge pump and a variation of an operational frequency of a machine's processor.