Protection of a cryptographic operation
AssigneeSTMicroelectronics (Rousset) SAS
InventorGuilhem Assael
Life of this patent
Estimating the term…
Abstract
The present disclosure relates to a cryptographic method comprising: multiplying a point belonging to a mathematical set with a group structure by a scalar by performing: the division of a scalar into a plurality of groups formed of a same number w of digits, w being greater than or equal to 2; and the execution, by a cryptographic circuit and for each group of digits, of a sequence of operations on point, the sequence of operations being identical for each group of digits, at least one of the operations executed for each of the groups of digits being a dummy operation.
Claims26
A method, comprising:
- executing an application invoking a cryptographic operation;
- and
- performing the invoked cryptographic operation, the performing the invoked cryptographic operation including:
- multiplying, using cryptographic circuitry, a point, belonging to a mathematical set with a group structure, by a scalar;
- and
- protecting, using the cryptographic circuitry, the scalar during the multiplying, the multiplying and protecting including:
- dividing the scalar into a plurality of groups formed of a same number w of digits, w being greater than or equal to 2;
- and
- executing, for each group of digits, of a sequence of operations on the point, the sequence of operations having a same sequence for each group of digits, at least one of the operations executed for each of the groups of digits being a dummy operation,
- wherein the same sequence of operations comprises:
- the execution, w times, of a double operation;
- the execution of an add operation;
- and
- the execution, (w−1) times, of the double operation.
A device, comprising:
- a memory;
- and
- cryptographic circuitry coupled to the memory, wherein the cryptographic circuitry, in operation, in response to a request from an application, executes a cryptographic operation, the executing the cryptographic operation including multiplying a point by a scalar, the point belonging to a mathematical set with a group structure, and protecting the scalar during the multiplying, the multiplying and protecting including:
- dividing the scalar into a plurality of groups formed of a same number w of digits, w being greater than or equal to 2;
- and
- executing, for each group of digits, of a sequence of operations on the point, the sequence of operations having a same sequence for each group of digits, at least one of the operations executed for each of the groups of digits being a dummy operation,
- wherein the same sequence of operations comprises:
- the execution, w times, of a double operation;
- the execution of an add operation;
- and
- the execution, w−1 times, of the double operation.
A system, comprising:
- a host processor, which, in operation, executes an application;
- and
- a cryptographic coprocessor coupled to the host processor, wherein the cryptographic coprocessor, in operation, performs a cryptographic operation in response to a request from the application, the performing the cryptographic operation including multiplying a point by a scalar, the point belonging to a mathematical set with a group structure, and protecting the scalar during the multiplying, the multiplying and protecting including:
- dividing the scalar into a plurality of groups formed of a same number w of digits, w being greater than or equal to 2;
- and
- executing, for each group of digits, of a sequence of operations on the point, the sequence of operations having a same sequence for each group of digits, at least one of the operations executed for each of the groups of digits being a dummy operation,
- wherein the same sequence of operations comprises:
- the execution, w times, of a double operation;
- the execution of an add operation;
- and
- the execution, w−1 times, of the double operation.
A non-transitory computer-readable medium having contents which configure cryptographic circuitry to perform a cryptographic operation in response to a request from an application, the performing the cryptographic operation including:
- multiplying a point by a scalar, the point belonging to a mathematical set with a group structure;
- and
- protecting the scalar during the multiplying, the multiplying and protecting including:
- dividing the scalar into a plurality of groups formed of a same number w of digits, w being greater than or equal to 2;
- and
- executing, for each group of digits, of a sequence of operations on the point, the sequence of operations having a same sequence for each group of digits, at least one of the operations executed for each of the groups of digits being a dummy operation,
- wherein the same sequence of operations comprises:
- the execution, w times, of a double operation;
- the execution of an add operation;
- and
- the execution, w−1 times, of the double operation.
Dependencies are inferred from the claim text.