IP Library Granted Patent US 9,313,027
Granted Patent B2
US 9,313,027 · App. 11/647,002 · Granted Apr 12, 2016

Protection of a calculation performed by an integrated circuit

Inventors: Jean-Louis Modave (Ottignies, BE); Thierry Huque (Moxhe, BE)
Assignee: Proton World International N.V.
H04L9/28G06F7/723G09C1/00H04L9/004G06F7/725G06F2207/7261H04L9/302H04L9/3066H04L2209/12
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,313,027
App. No.
11/647,002
Granted
Apr 12, 2016
Kind
B2
Abstract

The calculation, by an electronic circuit, of a result of an integral number of applications of an internal composition law on elements of an abelian group, by successive iterations of different steps according to the even or odd character of a current coefficient of a polynomial representation of said integer, the degree of which determines the number of iterations, each iteration including whatever the even or odd character of the current coefficient, updating of at least one variable conditioning the final calculation result.

Claims (37)

1. A method, comprising:

calculating, by an electronic circuit, a result of an integral number of applications of an internal composition law to elements of an abelian group and protecting the electronic circuit from attack during the calculating, by:

performing iterations of the calculation with different operations based on an even or odd current coefficient of a polynomial representation of said integral number, the degree of which determines the number of iterations;

for each iteration having an odd current coefficient, updating a first variable that contains, after all iterations, a final result of the calculation; and

for each iteration having an even current coefficient, performing on a second variable an operation that does not modify the value of the second variable, to produce an intermediate result of the iteration, the intermediate result of the iteration being used in the final result of the calculation, wherein a fault injection attack causes the final result of the calculation to be modified independent of whether the current coefficient is even or odd.

2. The method of claim 1 wherein said integer is represented in binary form.

3. The method of claim 1 wherein the protecting the electronic circuit during execution of the iterations comprises protecting a number representing a number of applications of a composition law of an abelian group on elements of the group against a possible hacking.

4. The method of claim 1 , applied to the calculation of an exponentiation, wherein:

said element is a number;

said internal composition law is a multiplication operation; and

said integral number is the exponent.

5. The method of claim 4 , comprising:

ciphering or deciphering according to an RSA algorithm.

6. The method of claim 1 wherein said element is a point of an elliptic curve.

7. The method of claim 1 wherein the variables are contained in registers of the electronic circuit.

8. The method of claim 1 wherein the second variable is the same as the first variable.

9. The method of claim 1 , wherein, for each iteration having an even current coefficient, the composition law is applied to a variable that contains, after all iterations, the final result of the calculation and a neutral element of the composition law, or in the case of a modular calculation, a value which is a function of a modulo such that the result is unchanged.

10. The method of claim 1 , wherein at least two temporary variables representing the value of at least one variable of a preceding iteration are utilized to shift in time an updating of a variable of the current iteration.

11. The method of claim 10 , wherein performing iterations includes:

if the current coefficient is even: T′=R(+)T;

otherwise, if the coefficient of the preceding iteration was even: R=PT(+)T′, if it was odd: R=R(+)T; and

in all cases: PT=T, then T=T(+)T,

where (+) designates said composition law, R is a variable initialized with a neutral element of the composition law to contain the final result, T is a first time variable initialized with the value of the element to be submitted to the calculation, and T′ and PT are two other temporary variables among which at least PT is initialized with the neutral element of the composition law.

12. The method of claim 10 , wherein performing iterations includes:

if the current coefficient is even: T=PT 1 (+)PT 2 , otherwise R=R(+)T; and

in all cases: PT 1 =T, PT 2 =T, then T=T(+)T,

where (+) designates said composition law, R is a variable initialized with a neutral element of the composition law to contain the final result, T and PT 2 are two temporary variables initialized with the value of the element to be submitted to the calculation, and PT 1 is another temporary variable initialized with the neutral element of the composition law.

13. An apparatus, comprising:

one or more memories; and

cryptographic circuitry coupled to the one or more memories, wherein the cryptographic circuitry, in operation,

calculates a result of an integral number of applications of an internal composition law on elements of an abelian group, by successive iterations of different steps according to an even or odd character of a current coefficient of a polynomial representation of said integral number, the degree of which determines the number of iterations; and

secures the calculating during execution of the iterations by,

in case of an odd current coefficient in an iteration, updating a first variable that contains, after all iterations, a final result of the calculation; and

in case of an even current coefficient in an iteration, performing on a second variable an operation that does not modify the value of the second variable, to produce an intermediate result of the iteration, the intermediate result of the iteration being used in the final result of the calculation, wherein a fault injection attack causes the final result of the calculation to be modified independent of whether the current coefficient is even or odd.

14. The apparatus of claim 13 wherein the one or more memories include registers storing the variables and the cryptographic circuitry comprises wired logic.

15. The apparatus of claim 13 wherein, for each iteration having an even current coefficient, the composition law is applied to a variable that contains, after all iterations, the final result of the calculation and a neutral element of the composition law, or in the case of a modular calculation, a value which is a function of a modulo such that the result is unchanged.

16. The apparatus of claim 13 wherein at least two temporary variables representing the value of at least one variable of a preceding iteration are utilized to shift in time an updating of a variable of the current iteration.

Assignments (2)
CHANGE OF NAME Recorded Sep 26, 2024
From: PROTON WORLD INTERNATIONAL
To: STMICROELECTRONICS BELGIUM
Reel/Frame 069057/0620 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2006
From: MODAVE, JEAN-LOUIS; HUQUE, THIERRY
To: PROTON WORLD INTERNATIONAL N.V.
Reel/Frame 018754/0603 →
Priority Claims (1)
FR 05 54133 · Dec 29, 2005 · national
Continuity (1)
Related Publication 20070156797A1 · Jul 5, 2007