IP Library Granted Patent US 9,160,530
Granted Patent B2
US 9,160,530 · App. 14/203,079 · Granted Oct 13, 2015

Method and apparatus for verifiable generation of public keys

Inventor: Daniel Richard L. Brown (Mississauga, CA)
Assignee: Certicom Corp.
H04L9/0861H04L9/3066H04L9/321H04L9/3247H04L9/3252H04L9/3263
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 9,160,530
App. No.
14/203,079
Granted
Oct 13, 2015
Kind
B2
Abstract

The invention provides a method of verifiable generation of public keys. According to the method, a self-signed signature is first generated and then used as input to the generation of a pair of private and public keys. Verification of the signature proves that the keys are generated from a key generation process utilizing the signature. A certification authority can validate and verify a public key generated from a verifiable key generation process.

Claims (57)

1. A computer implemented method of generation of keys, said method comprising:

operating a cryptographic unit on a first computing device for

combining pre-message data and a data pair into a self-signed signature message, where one of said data pair is generated based on an ephemeral private key, and said data pair representing signature data to bind said computing device to said self-signed signature message;

hashing said self-signed signature message to produce a message digest;

computing a private key based on said message digest;

computing a public key based upon said private key; and

sending said public key to a certification authority with information allowing said certification authority to confirm an identity of a correspondent, and issue a certificate once said identity has been confirmed, and said certification authority is a second computer system which is separate from a first computer system with said cryptographic unit of said correspondent.

2. The method of claim 1 , further comprising said cryptographic unit computing a corresponding public key using said self-signed signature message.

3. The method of claim 2 , wherein the generation of said public key is verifiable using said self-signed signature message and said self-signed signature message.

4. The method of claim 2 , wherein said self-signed signature message, said private key, and said public key are generated based on a Digital Signature Algorithm (DSA).

5. The method of claim 2 , wherein said self-signed signature message, said private key, and said public key are generated based on an Elliptic Curve Digital Signature Algorithm.

6. The method of claim 1 , further comprising said computing device receiving at least a portion of said message data from a trusted authority, wherein said portion of said message data contains randomness.

7. The method of claim 6 , further comprising:

said computing device sending a request message to said certification authority; and

said computing device receiving at least said portion of said message data from said certification authority over a secure channel;

wherein at least said portion of said message data is generated by said certification authority from said request message and signed with a private key of said certification authority.

8. The method of claim 1 , wherein said self-signed signature message includes an integer, and said generating said self-signed signature message comprises:

said cryptographic unit generating an ephemeral public key;

said cryptographic unit obtaining a salt value;

said cryptographic unit computing a hash value of a pre-determined number of repetitions of a concatenation of said salt value and said ephemeral public key; and

said cryptographic unit assigning, as said integer, an integer value of said hash value.

9. The method of claim 1 , wherein said self-signed signature message includes an integer, and said generating said self-signed signature message comprises:

said cryptographic unit selecting an ephemeral private key, said ephemeral private key being a value selected at random;

said cryptographic unit computing an ephemeral public key from said ephemeral private key, said ephemeral public key being a product of said ephemeral private key and an elliptic curve point; and

said cryptographic unit assigning to said integer an integer value corresponding to said ephemeral public key.

10. The method of claim 1 , wherein said generating a self-signed signature message by combining said message data and said self-signed signature message comprises concatenating said message data and said self-signed signature message into said self-signed signature message, and wherein said computing said private key comprises:

said cryptographic unit computing a message digest from an integer hash value of said self-signed signature message;

said cryptographic unit computing said private key from said self-signed signature message and said message digest.

11. The method of claim 1 , wherein generating said self-signed signature message comprises:

said cryptographic unit selecting an ephemeral private key k, said ephemeral private key k being a non-negative integer smaller than a prime number n;

said cryptographic unit computing an ephemeral public key from said ephemeral private key k, said ephemeral public key being a product of said ephemeral private key and an elliptic curve point G having the prime number as its order;

said cryptographic unit assigning an integer value corresponding to said ephemeral public key to a first integer r; and

said cryptographic unit selecting a second integer s, said second integer being a non-negative integer smaller than the prime number n, said first integer r and said second integer s forming said self-signed signature message.

12. The method of claim 11 , wherein computing said private key comprises:

said cryptographic unit computing a message digest e from an integer hash value of said self-signed signature message; and

said cryptographic unit computing said private key d using a formula d=(s k−e)/r mod n.

13. The method of claim 12 , wherein said cryptographic unit computes said public key Q using a formula Q=d G.

14. The method of claim 12 , wherein said cryptographic unit computes said public key Q using a formula Q=(1/r mod n)(sR−eG), where R is an elliptic curve point where R=kG.

15. The method of claim 11 , wherein said cryptographic unit assigning the integer value comprises:

providing a salt value;

computing a hash value for a pre-determined number of repetitions of a concatenation of said salt value and said ephemeral public key; and

assigning an integer value of said hash value to said first integer r.

16. A non-transitory computer readable medium for generating keys of a computing device in a communication system, said computing device having a cryptographic unit, said non-transitory computer readable medium having stored thereon computer executable instructions for:

combining pre-message data and a data pair into a self-signed signature message, where one of said data pair is generated based on an ephemeral private key, and said data pair representing signature data to bind said computing device to said self-signed signature message;

hashing said self-signed signature message to produce a message digest;

computing a private key based on said message digest;

computing a public key based upon said private key; and

sending said public key to a certification authority with information allowing said certification authority to confirm an identity of a correspondent, and issue a certificate once said identity has been confirmed, and said certification authority is a second computer system which is separate from a first computer system with said cryptographic unit of said correspondent.

17. The non-transitory computer readable medium of claim 16 further having stored thereon computer executable instructions for computing a corresponding public key using said self-signed signature message.

18. The non-transitory computer readable medium of claim 17 , wherein the generation of said public key is verifiable using said self-signed signature message and said self-signed signature message.

19. A computing device comprising:

a cryptographic unit, said computing device configured to perform combining pre-message data and a data pair into a self-signed signature message, where one of said data pair is generated based on an ephemeral private key, and said data pair representing signature data to bind said computing device to said self-signed signature message;

hashing said self-signed signature message to produce a message digest;

computing a private key based on said message digest;

computing a public key based upon said private key; and

sending said public key to a certification authority with information allowing said certification authority to confirm an identity of a correspondent, and issue a certificate once said identity has been confirmed, and said certification authority is a second computer system which is separate from a first computer system with said cryptographic unit of said correspondent.

20. The computing device of claim 19 further configured to compute a corresponding public key using said self-signed signature message.

Assignments (8)
CORRECTIVE ASSIGNMENT TO CORRECT THE ADDED PATENT NUMBER TO REMOVE PATENT NO. 8,873,407 AT PREVIOUSLY RECORDED ON REEL 64066 FRAME 1. ASSIGNOR(S) HEREBY CONFIRMS THE NUNC PRO TUNC ASSIGNMENT EFFECTIVE DATE MARCH 20, 2023. Recorded Feb 2, 2026
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 074921/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE COVER SHEET AT PAGE 50 TO REMOVE 12817157 PREVIOUSLY RECORDED ON REEL 063471 FRAME 0474. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 5, 2023
From: BLACKBERRY LIMITED
To: OT PATENT ESCROW, LLC
Reel/Frame 064806/0669 →
CORRECTIVE ASSIGNMENT TO CORRECT 12817157 APPLICATION NUMBER PREVIOUSLY RECORDED AT REEL: 064015 FRAME: 0001. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 5, 2023
From: OT PATENT ESCROW, LLC
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064807/0001 →
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064066/0001 →
NUNC PRO TUNC ASSIGNMENT Recorded Jun 16, 2023
From: OT PATENT ESCROW, LLC
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064015/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 27, 2023
From: BLACKBERRY LIMITED
To: OT PATENT ESCROW, LLC
Reel/Frame 063471/0474 →
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 Mar 10, 2014
From: BROWN, DANIEL R.
To: CERTICOM CORP.
Reel/Frame 032396/0844 →
Continuity (4)
Continuation 13618060 · Sep 14, 2012
Continuation 10974802 · Oct 28, 2004
Provisional Application 60514687 · Oct 28, 2003
Related Publication 20140325227A1 · Oct 30, 2014