IP Library Granted Patent US 8,995,656
Granted Patent B2
US 8,995,656 · App. 13/458,320 · Granted Mar 31, 2015

Multiple hashing in a cryptographic scheme

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,995,656
App. No.
13/458,320
Granted
Mar 31, 2015
Kind
B2
Abstract

Methods, systems, and computer programs for producing hash values are disclosed. A first hash value is obtained by applying a first hash function to a first input. The first input can be based on an implicit certificate, a message to be signed, a message to be verified, or other suitable information. A second hash value is obtained by applying a second hash function to a second input. The second input is based on the first hash value. The second hash value is used in a cryptographic scheme. In some instances, a public key or a private key is generated based on the second hash value. In some instances, a digital signature is generated based on the second hash value, or a digital signature is verified based on the second hash value, as appropriate.

Claims (39)

1. A computer-implemented method comprising:

accessing an implicit certificate associated with an entity;

obtaining a first input by concatenating a κ-bit constant with the implicit certificate;

obtaining a first hash value by applying a first hash function to a first input, the first input based on the implicit certificate, the first hash function being configured to produce a κ-bit output;

obtaining a second hash value by applying a second hash function to a second input, the second input based on the first hash value; and

generating, by data processing apparatus, a public key associated with the entity based on the second hash value.

2. The method of claim 1 , wherein the first hash function and the second hash function are the same hash function.

3. The method of claim 1 , wherein the first hash function and the second hash function are two different hash functions.

4. The method of claim 3 , wherein the second input is the first hash value.

5. The method of claim 3 , wherein the second hash function is configured to produce a κ-bit output.

6. The method of claim 1 , wherein the public key associated with the entity is an elliptic curve point Q U , and generating the public key associated with the entity includes:

extracting from the implicit certificate an elliptic curve point P U that represents a public key reconstruction value;

accessing an elliptic curve point Q CA that represents a public key of a certificate authority that issued the implicit certificate; and

computing the elliptic curve point Q U =eP U +Q CA , where e is the second hash value.

7. The method of claim 1 , further comprising using the public key to encrypt a message to the entity.

8. The method of claim 1 , further comprising using the public key to authenticate a message from the entity.

9. The method of claim 1 , wherein the method is performed by data processing apparatus associated with the entity.

10. The method of claim 1 , wherein the method is performed by data processing apparatus associated with a certificate authority that issued the implicit certificate.

11. The method of claim 1 , wherein the method is performed by data processing apparatus associated with a correspondent, other than the entity, that validates the public key based on the implicit certificate.

12. The method of claim 1 , wherein the public key is generated based on the second hash value by:

obtaining a third hash value by applying a third hash function to the second hash value; and

generating the public key based directly on the third hash value and additional values.

13. A computing system comprising:

a hash module operable to:

obtain a first input by concatenating a κ-bit constant with an implicit certificate associated with an entity;

obtain a first hash value by applying a first hash function to a first input, the first input based on the implicit certificate, the first hash function being configured to produce a κ-bit output; and

obtain a second hash value by applying a second hash function to a second input, the second input based on the first hash value; and

a key generation module operable to generate a public key associated with the entity based on the second hash value.

14. The computing system of claim 13 , wherein the κ-bit constant comprises a κ-bit string of zeros.

15. The computing system of claim 13 , wherein the first hash function and the second hash function are the same hash function.

16. The computing system of claim 13 , wherein the first hash function and the second hash function are two different hash functions, and the second input is the first hash value.

17. A non-transitory computer-readable medium storing instructions that are operable when executed by data processing apparatus to perform operations comprising:

obtaining a first input by concatenating a κ-bit constant with an implicit certificate associated with an entity;

obtaining a first hash value by applying a first hash function to a first input, the first input based on the implicit certificate, the first hash function being configured to produce a κ-bit output;

obtaining a second hash value by applying a second hash function to a second input, the second input based on the first hash value; and

generating a public key associated with the entity based on the second hash value.

18. The computer-readable medium of claim 17 , wherein the κ-bit constant comprises a κ-bit string of zeros.

19. The computer-readable medium of claim 17 , wherein the first hash function and the second hash function are the same hash function.

20. The computer-readable medium of claim 17 , wherein the first hash function and the second hash function are two different hash functions, and the second input is the first hash value.

Assignments (9)
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 →
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 →
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064271/0199 →
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 Oct 10, 2012
From: CERTICOM (U.S.) LIMITED
To: CERTICOM CORP.
Reel/Frame 029106/0660 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 1, 2012
From: KRAVITZ, DAVID WILLIAM
To: CERTICOM (U.S.) LIMITED
Reel/Frame 028702/0273 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 1, 2012
From: ZAVERUCHA, GREGORY MARC
To: CERTICOM CORP.
Reel/Frame 028702/0482 →