# US 8,542,821 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,821 B2
- Document ID: US8542821B2
- Status: Granted
- Kind: B2
- Application number: 12/837,268
- Filed: 2010-07-15
- Published: 2010-11-04
- Granted: 2013-09-24
- Earliest claimed: 1999-01-11
- Assignees: Certicom Corp.
- Applicants: Farhad Pezeshki; Robert John Lambert
- Inventors: Farhad Pezeshki; Robert John Lambert
- Web page: https://patentgrep.com/patent/US8542821B2

## 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:
defining, by one or more processors, private values such that a sum of the private values, modulo a specified integer, is equal to an elliptic curve private key, wherein defining the private values includes combining a random value with one or more other private values; and
using the private values in an elliptic curve cryptographic operation, wherein using the private values includes producing a plurality of products by multiplying each respective private value by another value.

### Claim 2 (depends on 1)

The method of claim 1, wherein the specified integer is equal to at least one of the order of an elliptic curve generator and the order of an elliptic curve.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
after using the private values, updating the private values such that a sum of the updated private values, modulo the specified integer, is equal to the elliptic curve private key; and
using the updated private values in another elliptic curve cryptographic operation.

### Claim 4 (depends on 3)

The method of claim 3, wherein updating the private values comprises randomly modifying at least two of the private values.

### Claim 5 (depends on 1)

The method of claim 1, wherein using the private values in an elliptic curve cryptographic operation comprises generating a digital signature of a message.

### Claim 6 (depends on 5)

The method of claim 5, wherein the digital signature is generated from the private values in a manner that is mathematically equivalent to generating a digital signature from the elliptic curve private key.

### Claim 7

A non-transitory computer-readable medium storing instructions that, when executed by one or more processors, perform operations comprising:
defining private values such that a sum of the private values, modulo a specified integer, is equal to an elliptic curve private key, wherein defining the private values includes combining a random value with one or more other private values; and
using the private values in an elliptic curve cryptographic operation, wherein using the private values includes producing a plurality of products by multiplying each respective private value by another value.

### Claim 8 (depends on 7)

The computer-readable medium of claim 7, wherein the specified integer is equal to at least one of the order of an elliptic curve generator and the order of an elliptic curve.

### Claim 9 (depends on 7)

The computer-readable medium of claim 7, wherein the operations further comprise:
after using the private values, updating the private values such that a sum of the updated private values, modulo the specified integer, is equal to the elliptic curve private key; and
using the updated private values in another elliptic curve cryptographic operation.

### Claim 10 (depends on 9)

The computer-readable medium of claim 9, wherein updating the private values comprises randomly modifying at least two of the private values.

### Claim 11 (depends on 7)

The computer-readable medium of claim 7, wherein using the private values in an elliptic curve cryptographic operation comprises generating a digital signature of a message.

### Claim 12 (depends on 11)

The computer-readable medium of claim 11, wherein the digital signature is generated from the private values in a manner that is mathematically equivalent to generating a digital signature from the elliptic curve private key.

### Claim 13

A device comprising:
memory; and
one or more processors operable to:
define private values such that a sum of the private values, modulo a specified integer, is equal to an elliptic curve private key, wherein defining the private values includes combining a random value with one or more other private values; and
use the private values in an elliptic curve cryptographic operation, wherein using the private values includes producing a plurality of products by multiplying each respective private value by another value.

### Claim 14 (depends on 13)

The device of claim 13, wherein the specified integer is equal to at least one of the order of an elliptic curve generator and the order of an elliptic curve.

### Claim 15 (depends on 13)

The device of claim 13, wherein the one or more processors are further operable to:
after using the private values, update the private values such that a sum of the updated private values, modulo the specified integer, is equal to the elliptic curve private key; and
use the updated private values in another elliptic curve cryptographic operation.

### Claim 16 (depends on 15)

The device of claim 15, wherein updating the private values comprises randomly modifying at least two of the private values.

### Claim 17 (depends on 13)

The device of claim 13, wherein using the private values in an elliptic curve cryptographic operation comprises generating a digital signature of a message.

### Claim 18 (depends on 17)

The device of claim 17, wherein the digital signature is generated from the private values in a manner that is mathematically equivalent to generating a digital signature from the elliptic curve private key.
