# US 8,542,826 B2 · Method and apparatus for minimizing differential power attacks on processors

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,542,826 B2
- Document ID: US8542826B2
- Status: Granted
- Kind: B2
- Application number: 11/483,553
- Filed: 2006-07-11
- Published: 2007-03-08
- Granted: 2013-09-24
- Earliest claimed: 1999-01-11
- Assignees: Certicom Corp.
- Applicants: Farhad Pezeshki; Robert J. Lambert
- Inventors: Farhad Pezeshki; Robert J. Lambert
- Web page: https://patentgrep.com/patent/US8542826B2

## 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

### Claim 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.

### Claim 2 (depends on 1)

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

### Claim 3 (depends on 1)

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.

### Claim 4 (depends on 1)

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.

### Claim 5 (depends on 1)

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.

### Claim 6 (depends on 5)

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.

### Claim 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.

### Claim 8 (depends on 7)

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

### Claim 9 (depends on 7)

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.

### Claim 10 (depends on 7)

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.

### Claim 11 (depends on 7)

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.

### Claim 12 (depends on 11)

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.

### Claim 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.

### Claim 14 (depends on 13)

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

### Claim 15 (depends on 13)

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.

### Claim 16 (depends on 13)

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.

### Claim 17 (depends on 13)

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.

### Claim 18 (depends on 17)

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.
