IP Library › Granted Patent US 11,502,836
Granted Patent B2
US 11,502,836 · App. 17/149,623 · Granted Nov 15, 2022

Method for performing cryptographic operations on data in a processing device, corresponding processing device and computer program product

Inventors: Ruggero Susella (Milan, IT); Guido Marco Bertoni (Bernareggio, IT)
Assignee: STMICROELECTRONICS S.r.l.
H04L9/3066G06F7/523H04L9/0825H04L9/0869
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 11,502,836
App. No.
17/149,623
Granted
Nov 15, 2022
Kind
B2
Abstract

A scalar multiplication operation includes an iterative procedure performing a set of operations at each iteration on a bit or on a group of consecutive bits of a secret key. The multiplication operation includes multiplying values of projective format coordinates by a random value. The random value is a product of a random number generated over a range having as end value a first value, with a second value, which is larger than said first value. The first value is a power of two of a word size multiplied by a multiplier value, minus one. The second value is equal to a power of two of a number of bits of the coordinates divided by the first value. The multiplier value is an integer greater than or equal to one and smaller than a ratio of said number of bits to the word size.

Claims (41)

1. A method of performing cryptographic operations on data in a processing device operating with a word size, including applying an asymmetric cryptographic procedure operating over a finite field having an order, the asymmetric cryptographic procedure including performing a scalar multiplication operation between at least one operand, representing a curve point expressed by projective format coordinates, and a secret key, the scalar multiplication operation including an iterative procedure performing a set of operations at each iteration on a bit or on a group of consecutive bits of the secret key, the multiplication operation comprising, at each iteration,

randomizing values represented by a number of bits, of the projective format coordinates representing said at least one operand by multiplying the values of the projective format coordinates by a random value,

wherein

the randomizing values includes generating a random number over a range having as an end value a first value, and multiplying the random number and a second value, which is larger than said first value,

said first value is a power of two of the word size multiplied by a multiplier value, minus one,

said second value is equal to a power of two of said number of bits divided by the first value, the multiplier value being an integer greater than or equal to one and smaller than a ratio of said number of bits to the word size.

2. The method according to claim 1 , wherein an upper limit for the multiplier value is 4.

3. The method of claim 1 wherein the multiplier value is 1 or 2.

4. The method according to claim 1 , wherein the range has a start value of one.

5. The method according to claim 1 , wherein the asymmetric cryptographic procedure is an Elliptic Curve Cryptography (ECC) procedure, the at least one operand is a point on an elliptic curve and the multiplication operation is an ECC scalar multiplication.

6. The method according to claim 5 , wherein the set of operations represents a Montgomery ladder.

7. The method according to claim 6 , wherein each iteration of the iterative procedure is performed on a bit of the secret key using first and second loop variables and includes:

if such bit is zero, setting the second loop variable equal to a sum of the first and second loop variables and multiplying the first loop variable by two;

otherwise, setting the first loop variable equal to the sum of the first and second loop variables and multiplying the second loop variable by two; and

performing the randomization operation on the projective format coordinates expressing the first loop variable and the second loop variable.

8. The method according to claim 1 , wherein the iterative procedure is performed dividing the bits of the secret key in groups of consecutive bits, and includes performing a set of operations at each iteration for a group of bits of the secret key.

9. An apparatus, comprising:

a memory; and

cryptographic circuitry having a word size and coupled to the memory, wherein the cryptographic circuitry, in operation, applies an asymmetric cryptographic procedure operating over a finite field having an order, the asymmetric cryptographic procedure including performing a scalar multiplication operation between at least one operand, representing a curve point expressed by projective format coordinates, and a secret key, the scalar multiplication operation including an iterative procedure performing a set of operations at each iteration on a bit or on a group of consecutive bits of the secret key, the multiplication operation comprising, at each iteration, randomizing values represented by a number of bits, of the projective format coordinates representing said at least one operand by multiplying the values of the projective format coordinates by a random value, wherein

the randomizing values includes generating a random number over a range having as an end value a first value, and multiplying the random number and a second value, which is larger than said first value,

said first value is a power of two of the word size multiplied by a multiplier value, minus one,

said second value is equal to a power of two of said number of bits divided by the first value, the multiplier value being an integer greater than or equal to one and smaller than a ratio of said number of bits to the word size.

10. The apparatus according to claim 9 , wherein an upper limit for the multiplier value is 4.

11. The apparatus of claim 9 wherein the multiplier value is 1 or 2.

12. The apparatus according to claim 9 , wherein the range has a start value of one.

13. The apparatus according to claim 9 , wherein the asymmetric cryptographic procedure is an Elliptic Curve Cryptography (ECC) procedure, the at least one operand is a point on an elliptic curve and the multiplication operation is an ECC scalar multiplication.

14. The apparatus according to claim 13 , wherein the set of operations represents a Montgomery ladder.

15. The apparatus according to claim 14 , wherein each iteration of the iterative procedure is performed on a bit of the secret key using first and second loop variables and includes:

if such bit is zero, setting the second loop variable equal to a sum of the first and second variables and multiplying the first loop variable by two;

otherwise, setting the first loop variable equal to the sum of the first and second loop variables and multiplying the second loop variable by two; and

performing the randomization operation on the projective format coordinates expressing the first loop variable and the second loop variable.

16. The apparatus according to claim 9 , wherein the iterative procedure is performed by dividing the bits of the secret key into groups of consecutive bits, and includes performing a set of operations at each iteration for a group of bits of the secret key.

17. A non-transitory computer-readable medium having contents which configure a processing device to perform cryptographic operations on data using a word size, the performing cryptographic operations including applying an asymmetric cryptographic procedure operating over a finite field having an order, the asymmetric cryptographic procedure including performing a scalar multiplication operation between at least one operand, representing a curve point expressed by projective format coordinates, and a secret key, the scalar multiplication operation including an iterative procedure performing a set of operations at each iteration on a bit or on a group of consecutive bits of the secret key, the multiplication operation comprising, at each iteration,

randomizing values represented by a number of bits, of the projective format coordinates representing said at least one operand by multiplying the values of the projective format coordinates by a random value,

wherein

the random value is a product of a random number generated over a range having as an end value a first value, with a second value, which is larger than said first value,

said first value is a power of two of the word size multiplied by a multiplier value, minus one,

said second value is equal to a power of two of said number of bits divided by the first value, the multiplier value being an integer greater than or equal to one and smaller than a ratio of said number of bits to the word size.

18. The non-transitory computer-readable medium of claim 17 , wherein an upper limit for the multiplier value is 4.

19. The non-transitory computer-readable medium of claim 17 , wherein the multiplier value is 1 or 2.

20. The non-transitory computer-readable medium of claim 17 , wherein the contents comprise instructions executed by cryptographic circuitry of the processing device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 21, 2021
From: SUSELLA, RUGGERO; BERTONI, GUIDO MARCO
To: STMICROELECTRONICS S.R.L.
Reel/Frame 055062/0205 →
Priority Claims (1)
IT 102020000000886 · Jan 17, 2020 · national
Continuity (1)
Related Publication 20210226789A1 · Jul 22, 2021
Cited By (1)
US 12,223,321