Performing cryptographic data processing operations in a manner resistant to external monitoring attacks
AssigneeCryptography Research, Inc.
InventorsSami James Saab, Pankaj Rohatgi, Craig E. Hampel
Life of this patent
Estimating the term…
Abstract
Systems and methods for performing cryptographic data processing operations in a manner resistant to external monitoring attacks. An example method may comprise: executing, by a processing device, a first data manipulation instruction, the first data manipulation instruction affecting a state of the processing device; executing a second data manipulation instruction, the second data manipulation instruction interacting with said internal state; and breaking a detectable interaction of the first data manipulation instruction and the second data manipulation instruction by executing a third data manipulation instruction utilizing an unpredictable data item.
Claims20
A method of executing a cryptographic operation, comprising:
- identifying a first data manipulation instruction, the first data manipulation instruction modifying an internal state of a processing device;
- identifying a second data manipulation instruction, the second data manipulation instruction interacting with the internal state of the processing device;
- and
- identifying an interaction of the first data manipulation instruction and the second data manipulation instruction, wherein the interaction is detectable by external monitoring of the processing device;
- and
- breaking the interaction by a third data manipulation instruction to be executed serially with the first data manipulation instruction and the second data manipulation instruction, wherein the third data manipulation instruction modifies the internal state of the processing device.
A method, comprising:
- identifying a sequence of instructions modifying an internal state of a processing device, wherein the sequence of instructions comprises a first data load instruction that loads a secret data item;
- identifying a detectable interaction of the first data load instruction and other instructions of the sequence of instructions, wherein the interaction is detectable by external monitoring of the processing device;
- and
- breaking the detectable interaction by a second data load instruction to be executed within the sequence of instructions, wherein the second data load instruction loads a first data item provided by one of:
- a first secret data item or a first constant data item, and wherein the second data load instruction produces a random value of the internal state of the processing device.
A computer-readable non-transitory storage medium comprising instructions that, when executed by a computing device, cause the computing device to perform operations comprising:
- identify a sequence of instructions modifying an internal state of a processing device, wherein the sequence of instructions comprises a first data load instruction that loads a secret data item;
- identify a detectable interaction of the first data load instruction and other instructions of the sequence of instructions, wherein the interaction is detectable by external monitoring of the processing device;
- and
- breaking the detectable interaction by a second data load instruction to be executed within the sequence of instructions, wherein the second data load instruction loads a first data item provided by one of:
- a first secret data item or a first constant data item, and wherein the second data load instruction produces a random value of the internal state of the processing device.
Dependencies are inferred from the claim text.