IP Library Granted Patent US 10,079,675
Granted Patent B2
US 10,079,675 · App. 14/691,372 · Granted Sep 18, 2018

Generating cryptographic function parameters from a puzzle

Inventor: Daniel Richard L. Brown (Mississauga, CA)
Assignee: Certicom Corp.
H04L9/0662G09C5/00H04L9/0869H04L9/3006H04L9/3066H04L63/0442H04L63/126
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 10,079,675
App. No.
14/691,372
Granted
Sep 18, 2018
Kind
B2
Abstract

Methods, systems, and computer programs for generating cryptographic function parameters are described. In some examples, a solution to a puzzle is obtained. A pseudorandom generator is seeded based on the solution. After seeding the pseudorandom generator, an output from the pseudorandom generator is obtained. A parameter for a cryptographic function is generated. The parameter is generated from the output from the pseudorandom generator.

Claims (37)

1. A cryptography method comprising:

obtaining, by operation of one or more processors, a solution to a puzzle, wherein the solution to the puzzle is obtained by performing an iterative process that includes two or more iterations, wherein each iteration comprises:

generating a puzzle solution for the iteration by applying a puzzle function to a puzzle input for the iteration, wherein the puzzle input comprises an output product of a de-sparser function; and applying the puzzle function to the puzzle input for the iteration comprises seeding the puzzle function with the output product of the de-sparser function for the iteration, wherein the de-sparser function comprises a pseudorandom function that takes one input;

seeding a pseudorandom generator based on the puzzle solution for the iteration; and

after seeding the pseudorandom generator, obtaining an output from the pseudorandom generator for the iteration;

wherein a puzzle input for at least one iteration is based on an output from the pseudorandom generator for a prior iteration of the iterative process; and

generating a parameter for a cryptographic function by operation of one or more data processors, the parameter being generated from an output from the pseudorandom generator for a last iteration of the iterative process.

2. The method of claim 1 , wherein generating the puzzle solution has a higher computational cost than verifying the puzzle solution.

3. The method of claim 1 , wherein the cryptographic function comprises an elliptic curve function, and the parameter comprises a constant for the elliptic curve function.

4. The method of claim 1 , wherein generating the parameter comprises deriving the parameter from one or more outputs produced by operating the pseudorandom generator seeded by the solution.

5. The method of claim 1 , further comprising using the parameter to perform cryptographic operations according to a cryptographic communication protocol.

6. The method of claim 1 , comprising generating a full set of parameters for the cryptographic function from the output from the pseudorandom generator.

7. A computing system comprising:

a memory; and

one or more hardware data processors configured to perform operations comprising:

obtaining a solution to a puzzle, wherein the solution to the puzzle is obtained by performing an iterative process that includes two or more iterations, wherein each iteration comprises:

generating a puzzle solution for the iteration by applying a puzzle function to a puzzle input for the iteration, wherein the puzzle input comprises an output product of a de-sparser function; and applying the puzzle function to the puzzle input for the iteration comprises seeding the puzzle function with the output product of the de-sparser function for the iteration, wherein the de-sparser function comprises a pseudorandom function that takes one input;

seeding a pseudorandom generator based on the puzzle solution for the iteration; and

after seeding the pseudorandom generator, obtaining an output from the pseudorandom generator for the iteration;

wherein a puzzle input for at least one iteration is based on an output from the pseudorandom generator for a prior iteration of the iterative process; and

generating a parameter for a cryptographic function, the parameter being generated from an output from the pseudorandom generator for a last iteration of the iterative process.

8. The system of claim 7 , wherein generating the puzzle solution has a higher computational cost than verifying the puzzle solution.

9. The system of claim 7 , wherein the cryptographic function comprises an elliptic curve function, and the parameter comprises a constant for the elliptic curve function.

10. The system of claim 7 , the operations comprising generating a full set of parameters for the cryptographic function from the output from the pseudorandom generator.

11. The system of claim 7 , wherein generating the parameter comprises deriving the parameter from one or more outputs produced by operating the pseudorandom generator seeded by the solution.

12. The system of claim 7 , further comprising a terminal configured to use the parameter in a cryptographic communication protocol.

13. A non-transitory computer-readable medium storing instructions that, when executed by data processing apparatus, cause the data processing apparatus to perform operations comprising:

obtaining, by operation of one or more processors, a solution to a puzzle, wherein the solution to the puzzle is obtained by performing an iterative process that includes two or more iterations, wherein each iteration comprises:

generating a puzzle solution for the iteration by applying a puzzle function to a puzzle input for the iteration, wherein the puzzle input comprises an output product of a de-sparser function; and applying the puzzle function to the puzzle input for the iteration comprises seeding the puzzle function with the output product of the de-sparser function for the iteration, wherein the de-sparser function comprises a pseudorandom function that takes one input;

seeding a pseudorandom generator based on the puzzle solution for the iteration; and

after seeding the pseudorandom generator, obtaining an output from the pseudorandom generator for the iteration;

wherein a puzzle input for at least one iteration is based on an output from the pseudorandom generator for a prior iteration of the iterative process; and

generating a parameter for a cryptographic function by operation of one or more data processors, the parameter being generated from an output from the pseudorandom generator for a last iteration of the iterative process.

14. The computer-readable medium of claim 13 , wherein generating the puzzle solution has a higher computational cost than verifying the puzzle solution.

15. The computer-readable medium of claim 13 , wherein the cryptographic function comprises an elliptic curve function, and the parameter comprises a constant for the elliptic curve function.

16. The computer-readable medium of claim 13 , the operations further comprising using the parameter to perform cryptographic operations according to a cryptographic communication protocol.

17. The computer-readable medium of claim 13 , the operations comprising generating a full set of parameters for the cryptographic function from the output from the pseudorandom generator.

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 Oct 16, 2015
From: BROWN, DANIEL RICHARD L.
To: CERTICOM CORP.
Reel/Frame 036808/0607 →
Continuity (1)
Related Publication 20170063535A1 · Mar 2, 2017