IP Library Granted Patent US 7,286,666
Granted Patent B1
US 7,286,666 · App. 09/937,397 · Granted Oct 23, 2007

Countermeasure method in an electric component implementing an elliptical curve type public key cryptography algorithm

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 7,286,666
App. No.
09/937,397
Granted
Oct 23, 2007
Kind
B1
Abstract

A countermeasure method in an electronic component implementing an elliptical curve based public key cryptography algorithm. A new decryption integer d′ is calculated such that the decryption of an encrypted message on the basis of a private key d and the number of points n of an elliptical curve provides the same result with d′ as with d, by performing the operation Q=d*P, whereby P is a point of the curve. Four steps are employed in the calculation: 1 ) a security parameter s is determined, 2 ) a random number k ranging from 0-2 s is drawn, 3 ) the integer d′=d+k*n is calculated, and 4 ) Q=d′.P is calculated.

Claims (31)

1. A countermeasure method in an electronic component implementing a public key cryptography algorithm based on the use of elliptical curves in which a deciphering integer d′ is calculated, using a private key d and a number of points n on an elliptical curve, such that the deciphering of any enciphered message, by means of a deciphering algorithm, with d′, gives the same result as with d, by effecting the operation Q=d*P, where P is a point on the curve, said method including the following steps:

1) determining a security parameter s;

2) drawing a random number k between 0 and 2 s ;

3) calculating the integer d′=d+k*n; and

4) calculating Q=d′*P.

2. A countermeasure method according to claim 1 , wherein a new deciphering integer d′ is calculated at each new execution of the deciphering algorithm.

3. A countermeasure method according to claim 1 , further including the step of incrementing a counter at each new execution of the deciphering algorithm until a fixed value T is reached.

4. A countermeasure method according to claim 3 , wherein, once the value T has been reached, a new deciphering integer is calculated and the counter is reset to zero.

5. A countermeasure method according to claim 3 , wherein the value T is equal to the integer 16.

6. A countermeasure method in an electronic component implementing a public key cryptography algorithm based on the use of elliptical curves defined on a finite field GF(p), where p is a prime number, according to the equation y 2 =x 3 +ax+b and where a random calculation modulus of the form p′=p*r, where r is a random integer, is used at each new execution of the algorithm, said method including the execution of a scalar multiplication operation according to the following steps:

1) determining a security parameter s;

2) drawing a random number r whose binary representation comprises s bits;

3) calculating p′=p*r;

4) executing the scalar multiplication operation Q=d.P, where P is a point on a curve, and said operation is performed modulo p′; and

5) performing the reduction operation modulo p of the coordinates of the point Q.

7. A countermeasure method according to claim 6 , wherein a new integer is calculated at each new execution of the cryptography algorithm.

8. A countermeasure method according to claim 6 , further including the step of incrementing a counter at each new execution of the cryptography algorithm.

9. A countermeasure method according to claim 8 , wherein the counter is reset to zero when it has reached a value T.

10. A countermeasure method according to claim 9 , wherein the value T is equal to sixteen.

11. A countermeasure method in an electronic component implementing a public key cryptography algorithm based on the use of elliptical curves in which a new deciphering key d′ is calculated, using the private key d and a number of points n on an elliptical curve, such that the deciphering of any enciphered message, by means of a deciphering algorithm, with d′, gives the same result as with d, by performing the operation Q=d*P, where P is a point on the curve to which a scalar multiplication algorithm is applied, said method comprising the following steps:

1) drawing a random point R on the curve;

2) calculating P′=P+R;

3) performing the scalar multiplication operation Q′=d.P′;

4) performing the scalar multiplication operation S=d.R; and

5) calculating Q=Q′−S.

12. A countermeasure method according to claim 11 , further including the step of incrementing a counter at each new execution of the deciphering algorithm up to a value T.

13. A countermeasure method according to claim 12 , wherein the counter is reset to zero once the value T has been reached.

14. A countermeasure method according to claim 11 , wherein the elliptical curve has two points such that S=d*R, and wherein steps 1 and 4 are replaced by the following steps 1′ and 4′:

1′) Replacing R with 2.R;

4′) Replacing S with 2.S.

15. A countermeasure method according to claim 14 , further including the step of incrementing a counter at each new execution of the deciphering algorithm up to a value T.

Assignments (1)
MERGER Recorded Aug 31, 2010
From: GEMPLUS
To: GEMALTO SA
Reel/Frame 024906/0868 →