Patent ID: 8429417

Claim:
A method for protecting a sensitive operation by checking the integrity of at least a subset of the data manipulated by the sensitive operation, said subset of data being referred to as the data to be checked, comprising: computing, by a processor, an integrity check value from data to be checked by initializing a result integrity check value r for the data to be checked and converting the data to be checked into at least two random parts and computing an integrity check value on the random parts, by: dividing the random parts into a plurality of blocks; randomly selecting a block of the plurality of blocks; recursively computing an integrity check value on the selected block and saving a plurality of intermediate results from the recursive computation; selecting one intermediate result from the plurality of intermediate results; using the selected result to compute the integrity check value for the selected block; and comparing said integrity check value from data to be checked with a reference value, wherein data to be checked are divided into blocks, an intermediate integrity check value being computed for each block, the intermediate integrity check values being computed in random order.