IP Library Granted Patent US 8,868,910
Granted Patent B2
US 8,868,910 · App. 13/370,190 · Granted Oct 21, 2014

Elliptic curve cryptographic signature

Inventors: Liqun Chen (Bristol, GB); Graeme John Proudler (Bristol, GB)
Assignee: Hewlett-Packard Development Company, L.P.
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,868,910
App. No.
13/370,190
Granted
Oct 21, 2014
Kind
B2
Abstract

A method includes generating a randomized base point and causing the randomized base point and a private key to be loaded into a signature engine device. The method also includes signing a message using the randomized base point and the private key as a base point as well as the private key in an elliptic curve cryptographic (ECC) signature.

Claims (27)

1. A method, comprising:

generating a randomized base point by adding together a plurality of parts, each part based on a hash function, wherein the plurality of parts includes a first part and a second part, the first part computed as a scalar multiplication of a first randomized base point and a first integer, said first integer being a result of a hash function, and the second part based on a scalar multiplication of a second randomized base point and a second integer, said second integer being a result of a hash function;

causing the randomized base point and a private key to be loaded into a signature engine device; and

signing a message using the randomized base point and the private key as a base point as well as the private key in an elliptic curve cryptographic (ECC) signature.

2. The method of claim 1 wherein generating the randomized base point comprises performing an ECC scalar multiplication of a fixed base point with a random number.

3. The method of claim 2 further comprising verifying the ECC signature using a randomized public key corresponding to the randomized base point and computed from a public key corresponding to the fixed base point.

4. The method of claim 3 further comprising computing the randomized public key as an ECC scalar multiplication of a fixed public key with a random number.

5. The method of claim 1 wherein generating the randomized base point includes performing a scalar multiplication of a randomized base point and an integer, said integer being a result of a hash function.

6. The method of claim 5 wherein inputs to the hash function include the randomized base point and a public key derived from the randomized base point and the private key.

7. The method of claim 1 further comprising verifying the ECC signature using a randomized public key based on a result of a hash function.

8. The method of claim 1 further comprising verifying the ECC signature, and wherein verifying the ECC signature comprises adding together two parts, a first being a scalar multiplication of a first randomized base point and a first integer, and a second part being a scalar multiplication of a randomized public key and a second integer, the first and second integer computed based on hash functions.

9. A system, comprising:

a host platform to generate a randomized base point; and

a signature engine device coupled to said host platform;

wherein the host platform is to cause the randomized base point and a private key to be loaded into the signature engine device, said private key inaccessible to the host platform; and

wherein said signature engine device is to sign a message using the randomized base point and the private key as a base point and private key, respectively, in an elliptic curve cryptographic (ECC) signature;

wherein the host platform is to generate the randomized base point as an addition of two parts, a first part based on a scalar multiplication of a first randomized base point and a first integer, said first integer being a result of a hash function, and the second part based on a scalar multiplication of a randomized public key and a second integer, said second integer being a result of hash function.

10. The system of claim 9 wherein the host platform generates the randomized base point via ECC scalar multiplication of a fixed base point with a random number.

11. The system of claim 9 wherein the host platform generates the randomized base point based on the scalar multiplication of a randomized public key and an integer, said integer being a result of a hash function.

12. The system of claim 11 wherein inputs to the hash function include the randomized base point and a public key derived from the randomized base point and the private key.

13. A non-transitory computer-readable storage device containing software that, when executed by a processor, causes the processor to:

generate a randomized base point;

cause the randomized base point and a private key to be loaded into a signature engine device;

sign a message using the randomized base point and the private key as a base point as well as the private key in an elliptic curve cryptographic (ECC) signature; and

verify the ECC signature by adding together two parts, a first being a scalar multiplication of a first randomized base point and a first integer, and a second part being a scalar multiplication of a randomized public key and a second integer, the first and second integer computed based on hash functions.

14. The non-transitory computer-readable storage device of claim 13 wherein the software causes the processor to generate the randomized base point by adding together a plurality of parts, each part based on a hash function.

15. The non-transitory computer-readable storage device of claim 14 wherein the plurality of parts includes a first part and a second part, and wherein the software causes the processor to compute the first part as a scalar multiplication of a first randomized base point and a first integer, said first integer being a result of a hash function, and to compute the second part as a scalar multiplication of a second randomized base point and a second integer, said second integer being a result of a hash function.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 14, 2012
From: CHEN, LIQUN; PROUDLER, GRAEME J.
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 027699/0805 →
Continuity (1)
Related Publication 20130212391A1 · Aug 15, 2013