IP Library Granted Patent US 11,424,924
Granted Patent B2
US 11,424,924 · App. 17/069,297 · Granted Aug 23, 2022

Method and system for Cheon resistant static Diffie-Hellman security

Inventor: Daniel Richard L. Brown (Mississauga, CA)
Assignee: BlackBerry Limited
H04L9/3066H04L9/002H04L9/006H04L9/0841H04L9/0861
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 11,424,924
App. No.
17/069,297
Granted
Aug 23, 2022
Kind
B2
Abstract

A method for providing Cheon-resistance security for a static elliptic curve Diffie-Hellman cryptosystem (ECDH), the method including providing a system for message communication between a pair of correspondents, a message being exchanged in accordance with ECDH instructions executable on computer processors of the respective correspondents, the ECDH instructions using a curve selected from a plurality of curves, the selecting including choosing a range of curves; selecting, from the range of curves, curves matching a threshold efficiency; excluding, within the selected curves, curves which may include intentional vulnerabilities; and electing, from non-excluded selected curves, a curve with Cheon resistance, the electing comprising a curve from an additive group of order q, wherein q is prime, such that q−1=cr and q+1=ds, where r and s are primes and c and d are integer Cheon cofactors of the group, such that cd≤48.

Claims (48)

1. A method for providing Cheon-resistance security for a static elliptic curve Diffie-Hellman cryptosystem (ECDH), the method comprising:

at a first computing device, selecting a curve for message communication between the first computing device and a second computing device, the selecting comprising:

choosing a range of curves having a threshold efficiency and without intentional vulnerabilities; and

electing, from the chosen range of curves, a curve with Cheon resistance, the electing comprising electing a curve from an additive group of order q, wherein q is prime, such that q−1=cr and q+1=ds, where r and s are primes and c and d are integer Cheon cofactors of the group, such that cd≤48;

selecting a private key for the first computing device;

computing a public key for the first computing device from curve parameters of the curve with Cheon resistance and the private key for the first computing device;

transmitting the curve parameters of the curve with Cheon resistance and the public key for the first computing device to the second computing device;

receiving a public key for the second computing device;

computing a shared secret based on the public key for the second computing device and the private key for the first computing device; and

communicating with the second computing device using the shared secret.

2. The method of claim 1 , wherein the choosing comprises choosing a range of curves having a length matching a threshold security level.

3. The method of claim 1 , wherein the choosing comprises selecting curves having a field size close to a power of two, and having efficient endomorphism.

4. The method of claim 1 , wherein the choosing comprising excluding curves which are non-compact or difficult to generate.

5. The method of claim 1 , wherein the curve has an affine equation in the form y 2 =x 3 +ix, where i=√{square root over (−1)}.

6. The method of claim 5 , wherein the curve has length of 454 bits.

7. The method of claim 6 , wherein a field size p=2 454 +(3×17×11287) 2 ; order q=2 452 +(7×41117) 2 ; r=(q−1)/8; and s=(q+1)/6.

8. A computing device for providing Cheon-resistance security for a static elliptic curve Diffie-Hellman cryptosystem (ECDH), the computing device comprising a hardware processor for executing program instructions configured to:

select a curve for message communication between the computing device and a second computing device, the selecting comprising:

choosing a range of curves having a threshold efficiency and without intentional vulnerabilities; and

electing, from the chosen range of curves, a curve with Cheon resistance, the electing comprising electing a curve from an additive group of order q, wherein q is prime, such that q−1=cr and q+1=ds, where r and s are primes and c and d are integer Cheon cofactors of the group, such that cd≤48; and

select a private key;

compute a public key from curve parameters of the curve with Cheon resistance and the private key;

transmit the curve parameters of the curve with Cheon resistance and the public key to the second computing device;

receive a public key for the second computing device;

compute a shared secret based on the public key for the second computing device and the private key; and

communicate with the second computing device using the shared secret.

9. The computing device of claim 8 , wherein the processor is configured for choosing using curves having a length matching a threshold security level.

10. The computing device of claim 8 , wherein the processor is configured for choosing using curves having a field size close to a power of two, and having efficient endomorphism.

11. The computing device of claim 8 , wherein the processor is configured for choosing by excluding non-compact or difficult to generate.

12. The computing device of claim 8 , wherein the curve has an affine equation in the form y 2 =x 3 +ix, where i=√{square root over (−1)}.

13. The computing device of claim 12 , wherein the curve has length of 454 bits.

14. The computing device of claim 13 , wherein a field size p=2 454 +(3×17×11287) 2 ; order q=2 452 +(7×41117) 2 ; r=(q−1)/8; and s=(q+1)/6.

15. A non-transitory computer readable medium for storing instruction code for providing Cheon-resistance security for a static elliptic curve Diffie-Hellman cryptosystem (ECDH), the instruction code, when executed by a processor of a first computing device causing the first computing device to:

select a curve for message communication between the computing device and a second computing device, the selecting comprising:

choosing a range of curves having a threshold efficiency and without intentional vulnerabilities; and

electing, from the chosen range of curves, a curve with Cheon resistance, the electing comprising electing a curve from an additive group of order q, wherein q is prime, such that q−1=cr and q+1=ds, where r and s are primes and c and d are integer Cheon cofactors of the group, such that cd≤48; and

select a private key;

compute a public key from curve parameters of the curve with Cheon resistance and the private key;

transmit the curve parameters of the curve with Cheon resistance and the public key to the second computing device;

receive a public key for the second computing device;

compute a shared secret based on the public key for the second computing device and the private key; and

communicate with the second computing device using the shared secret.

16. The non-transitory computer readable medium of claim 15 , wherein the first computing device is caused to choose a range of curves having a length matching a threshold security level.

17. The non-transitory computer readable medium of claim 15 , wherein the first computing device is caused to choose by selecting curves having a field size close to a power of two, and having efficient endomorphism.

18. The non-transitory computer readable medium of claim 15 , wherein the first computing device is caused to choose by excluding curves which are non-compact or difficult to generate.

19. The non-transitory computer readable medium of claim 15 , wherein the curve has an affine equation in the form y 2 =x 3 +ix, where i=√{square root over (−1)}.

20. The non-transitory computer readable medium of claim 19 , wherein the curve has length of 454 bits.

21. The non-transitory computer readable medium of claim 20 , wherein a field size p=2 454 +(3×17×11287) 2 .

Assignments (6)
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 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 Feb 16, 2021
From: CERTICOM CORP.
To: BLACKBERRY LIMITED
Reel/Frame 055306/0098 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2020
From: BROWN, DANIEL RICHARD L.
To: CERTICOM CORP.
Reel/Frame 054040/0173 →
Continuity (3)
Continuation 16164965 · Oct 19, 2018
Continuation 15145428 · May 3, 2016
Related Publication 20210028937A1 · Jan 28, 2021