IP Library Granted Patent US 10,129,026
Granted Patent B2
US 10,129,026 · App. 15/145,428 · Granted Nov 13, 2018

Method and system for cheon resistant static diffie-hellman security

Inventor: Daniel Richard L. Brown (Mississauga, CA)
Assignee: Certicom Corp.
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 10,129,026
App. No.
15/145,428
Granted
Nov 13, 2018
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 (64)

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 curve for message communication between the first computing device and a second computing device, the selecting comprising:

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 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 selecting 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 excluding 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 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 curve comprising:

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;

an affine equation in the form y 2 =x 3 +ix, where i=√{square root over (−1)};

a length of 454 bits;

a field size p=2 454 +(3×17×11287) 2 ;

an order q=2 452 +(7×41117) 2 ;

r=(q−1)/8; and

s==(q+1)/6; and

selecting a private key for the first computing device;

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

transmitting the curve parameters of the curve 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.

9. A computing device for providing Cheon-resistance security for a static elliptic curve Diffie-Heliman 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:

choose a range of curves;

select, from the range of curves, curves matching a threshold efficiency;

exclude, within the selected curves, curves which may include intentional vulnerabilities; and

elect, from non-excluded selected 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.

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

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

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

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

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

15. The computing device of claim 14 , 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.

16. 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 for:

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

an additive group of order q, where 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;

an affine equation in the form y 2 =x+ix, where i=√{square root over (−1)};

a length of 454 bits;

a field size p=2 454 +(3×17×11287) 2 ;

an order q=2 452 +(7×41117) 2 ;

r=(q−1)/8; and

s=(q+1)/6; and

selecting a private key;

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

transmitting the curve parameters of the curve with Cheon resistance and the public key 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; and communicate with the second computing device using the shared secret.

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 Aug 9, 2016
From: BROWN, DANIEL RICHARD L.
To: CERTICOM CORP.
Reel/Frame 039386/0760 →
Continuity (1)
Related Publication 20170324556A1 · Nov 9, 2017