Method for making safe an electronic cryptography assembly with a secret key
First Claim
1. A method for operating an electronic system to secure a multi-round cryptographic calculation procedure wherein each round is performed using a round-operation that uses a secret key and an encryption function f or a replacement thereof, the method comprising operating the electronic system to:
- determine a sequence of round-operations selected from a set of round-operations including round-operations performing a function p selected from the set of functions f, a masking operation followed by f, and f followed by an unmasking operation, and defined by whether each input of the round-operation has an input-type of masked or unmasked, respectively, and at least one output having an output-type of masked or unmasked depending on the input-types for the inputs, respectively, and the function p;
wherein the sequence of round-operations is selected such that for two sequential rounds i and i+1, each output from round i serves as an input to round i+1 and the output-type for each output from round i matches the input-type for the corresponding input to round i+1; and
execute the determined sequence of rounds.
2 Assignments
0 Petitions
Accused Products
Abstract
An aim of this invention is to eliminate the risks of aggression “DPA of the n order” attacks, for all n values, of cryptography electronic assemblies or systems with a secret or private key. The process according to this invention concerns a securing process for an electronic system using a cryptographic calculation procedure using a secret key. The process consists of masking intermediate results in input or output of at least one critical function for the said procedure.
20 Citations
15 Claims
-
1. A method for operating an electronic system to secure a multi-round cryptographic calculation procedure wherein each round is performed using a round-operation that uses a secret key and an encryption function f or a replacement thereof, the method comprising operating the electronic system to:
- determine a sequence of round-operations selected from a set of round-operations including round-operations performing a function p selected from the set of functions f, a masking operation followed by f, and f followed by an unmasking operation, and defined by whether each input of the round-operation has an input-type of masked or unmasked, respectively, and at least one output having an output-type of masked or unmasked depending on the input-types for the inputs, respectively, and the function p;
wherein the sequence of round-operations is selected such that for two sequential rounds i and i+1, each output from round i serves as an input to round i+1 and the output-type for each output from round i matches the input-type for the corresponding input to round i+1; and
execute the determined sequence of rounds. - View Dependent Claims (2, 3, 4, 5)
- determine a sequence of round-operations selected from a set of round-operations including round-operations performing a function p selected from the set of functions f, a masking operation followed by f, and f followed by an unmasking operation, and defined by whether each input of the round-operation has an input-type of masked or unmasked, respectively, and at least one output having an output-type of masked or unmasked depending on the input-types for the inputs, respectively, and the function p;
-
6. An electronic system comprising:
-
storage device storing a cryptographic calculation procedure that uses a secret key executable by a processor, a processor programmed to; determine a sequence of round-operations selected from a set of round-operations including round-operations performing a function p selected from the set of functions f, a masking operation followed by f, and f followed by an unmasking operation, and defined by whether each input of the round-operation has an input-type of masked or unmasked, respectively, and at least one output having an output-type of masked or unmasked depending on the input-types for the inputs, respectively, and the function p; wherein the sequence of round-operations is selected such that for two sequential rounds i and i+1, each output from round i serves as an input to round i+1 and the output-type for each output from round i matches the input-type for the corresponding input to round i+1; and execute the determined sequence of rounds. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A non-transitory computer storage media operable to store instructions for instructing a processor of an electronic system to perform certain operations, the storage media comprising:
instructions to direct the processor to; determine a sequence of round-operations selected from a set of round-operations including round-operations performing a function p selected from the set of functions f, a masking operation followed by f, and f followed by an unmasking operation, and defined by whether each input of the round-operation has an input-type of masked or unmasked, respectively, and at least one output having an output-type of masked or unmasked depending on the input-types for the inputs, respectively, and the function p; wherein the sequence of round-operations is selected such that for two sequential rounds i and i+1, each output from round i serves as an input to round i+1 and the output-type for each output from round i matches the input-type for the corresponding input to round i+1; and execute the determined sequence of rounds. - View Dependent Claims (12, 13, 14, 15)
Specification