Multiplication with data protection
AssigneeSTMicroelectronics (Rousset) SAS
InventorThomas Sarno
Life of this patent
Estimating the term…
Abstract
A device includes a memory, which, in operation, stores one or more look-up tables, and cryptographic circuitry coupled to the memory. The cryptographic circuitry, in operation, multiplies first data masked with a first mask by second data masked with a second mask, and protects the first data and the second data during the multiplying. The multiplying and protecting includes remasking the first data with a third mask, remasking the second data with a fourth mask, executing one or more compensation operations using one or more of the one or more look-up tables, and generating third data masked with a fifth mask. The fifth mask is independent of the first, second, third, and fourth masks. The third data corresponds to the first data multiplied by the second data.
Claims32
A method, comprising:
- multiplying, using cryptographic circuitry of an electronic device, first data masked with a first mask by second data masked with a second mask;
- and
- protecting, using the cryptographic circuitry, the first data and the second data during the multiplying, the multiplying and protecting including:
- remasking the first data with a third mask;
- remasking the second data with a fourth mask;
- executing one or more compensation operations using one or more look-up tables stored in a memory of the electronic device;
- and
- generating third data masked with a fifth mask, wherein:
- the fifth mask is independent of the first, second, third, and fourth masks;
- and
- the third data corresponds to the first data multiplied by the second data.
A device, comprising:
- a memory, which, in operation, stores one or more look-up tables;
- and
- cryptographic circuitry coupled to the memory, wherein the cryptographic circuitry, in operation:
- multiplies first data masked with a first mask by second data masked with a second mask;
- and
- protects the first data and the second data during the multiplying, the multiplying and protecting including:
- remasking the first data with a third mask;
- remasking the second data with a fourth mask;
- executing one or more compensation operations using one or more of the one or more look-up tables;
- and
- generating third data masked with a fifth mask, wherein:
- the fifth mask is independent of the first, second, third, and fourth masks;
- and
- the third data corresponds to the first data multiplied by the second data.
A system, comprising:
- an application processor, which, in operation, executes one or more applications;
- and
- cryptographic circuitry coupled to the application processor, wherein the cryptographic circuitry, in operation:
- multiplies first data masked with a first mask by second data masked with a second mask;
- and
- protects the first data and the second data during the multiplying, the multiplying and protecting including:
- remasking the first data with a third mask;
- remasking the second data with a fourth mask;
- executing one or more compensation operations using one or more look-up tables stored in a memory of the application processor;
- and
- generating third data masked with a fifth mask, wherein:
- the fifth mask is independent of the first, second, third, and fourth masks;
- and
- the third data corresponds to the first data multiplied by the second data.
A non-transitory computer-readable medium having contents which configure cryptographic circuitry to perform a method, the method comprising:
- multiplying first data masked with a first mask by second data masked with a second mask;
- and
- protecting the first data and the second data during the multiplying, the multiplying and protecting including:
- remasking the first data with a third mask;
- remasking the second data with a fourth mask;
- executing one or more compensation operations using one or more look-up tables stored in a memory of the cryptographic circuitry;
- and
- generating third data masked with a fifth mask, wherein:
- the fifth mask is independent of the first, second, third, and fourth masks;
- and
- the third data corresponds to the first data multiplied by the second data.
Dependencies are inferred from the claim text.