IP Library Granted Patent US 8,542,826
Granted Patent B2
US 8,542,826 · App. 11/483,553 · Granted Sep 24, 2013

Method and apparatus for minimizing differential power attacks on processors

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 8,542,826
App. No.
11/483,553
Granted
Sep 24, 2013
Kind
B2
Abstract

A method of masking a cryptographic operation using a secret value, comprising the steps of dividing the secret value into a plurality of parts; combining with each part a random value to derive a new part such that the new parts when combined are equivalent to the original secret value; and utilizing each of the individual parts in the operation.

Claims (32)

1. A computer-implemented elliptic curve cryptography method comprising:

accessing initial private values that sum, modulo a specified integer, to an elliptic curve private key; and

generating, by one or more processors, updated private values from the initial private values such that a sum of the updated private values, modulo the specified integer, is equal to the elliptic curve private key, wherein generating the updated private values includes modifying at least one of the initial private values using one or more random values.

2. The method of claim 1 , wherein generating the updated private values includes modifying all of the initial private values.

3. The method of claim 1 , wherein the updated private values comprise a first set of updated private values, and the method further comprises:

using the first set of updated private values in an elliptic curve cryptographic operation; and

generating, by one or more processors, a second set of updated private values from the first set of updated private values such that a sum of the second set of updated private values, modulo the specified integer, is equal to the elliptic curve private key, generating the second set of updated private values includes modifying at least one value of the first set of private values using another, different random value.

4. The method of claim 1 , wherein generating the updated private values from the initial private values comprises updating a set of values by an algorithm that preserves the sum of the set, modulo the specified integer.

5. The method of claim 1 , wherein generating the updated private values includes adding a random value to at least one of the initial private values.

6. The method of claim 5 , wherein generating the updated private values includes subtracting the random value from at least one of the initial private values.

7. A non-transitory computer-readable medium storing instructions that, when executed by one or more processors, perform operations comprising:

accessing initial private values that sum, modulo a specified integer, to an elliptic curve private key; and

generating updated private values from the initial private values such that a sum of the updated private values, modulo the specified integer, is equal to the elliptic curve private key, wherein generating the updated private values includes modifying at least one of the initial private values using one or more random values.

8. The computer-readable medium of claim 7 , wherein generating the updated private values includes modifying all of the initial private values.

9. The computer-readable medium of claim 7 , wherein the updated private values comprise a first set of updated private values, and the operations further comprise:

using the first set of updated private values in an elliptic curve cryptographic operation; and

generating a second set of updated private values from the first set of updated private values such that a sum of the second set of updated private values, modulo the specified integer, is equal to the elliptic curve private key, generating the second set of updated private values includes modifying at least one value of the first set of private values using another, different random value.

10. The computer-readable medium of claim 7 , wherein generating the updated private values from the initial private values comprises updating a set of values by an algorithm that preserves the sum of the set, modulo the specified integer.

11. The computer-readable medium of claim 7 , wherein generating the updated private values includes adding a random value to at least one of the initial private values.

12. The computer-readable medium of claim 11 , wherein generating the updated private values includes subtracting the random value from at least one of the initial private values.

13. A device comprising:

memory; and

one or more processors operable to:

access initial private values that sum, modulo a specified integer, to an elliptic curve private key; and

generate updated private values from the initial private values such that a sum of the updated private values, modulo the specified integer, is equal to the elliptic curve private key, wherein generating the updated private values includes modifying at least one of the initial private values using one or more random values.

14. The device of claim 13 , wherein generating the updated private values includes modifying all of the initial private values.

15. The device of claim 13 , wherein the updated private values comprise a first set of updated private values, and the one or more processors are further operable to:

use the first set of updated private values in an elliptic curve cryptographic operation; and

generate a second set of updated private values from the first set of updated private values such that a sum of the second set of updated private values, modulo the specified integer, is equal to the elliptic curve private key, generating the second set of updated private values includes modifying at least one value of the first set of private values using another, different random value.

16. The device of claim 13 , wherein generating the updated private values from the initial private values comprises updating a set of values by an algorithm that preserves the sum of the set, modulo the specified integer.

17. The device of claim 13 , wherein generating the updated private values includes adding a random value to at least one of the initial private values.

18. The device of claim 17 , wherein generating the updated private values includes subtracting the random value from at least one of the initial private values.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064104/0103 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 2, 2019
From: CERTICOM CORP.
To: BLACKBERRY LIMITED
Reel/Frame 050610/0937 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2011
From: PEZESHKI, FARHAD; LAMBERT, ROBERT J.
To: CERTICOM CORP.
Reel/Frame 025707/0061 →