US 11,902,440 B2
Method and system for Cheon resistant static Diffie-Hellman security
Daniel Richard L. Brown, Mississauga (CA)
Assigned to Malikie Innovations Limited, Dublin (IE)
Filed by MALIKIE INNOVATIONS LIMITED, Dublin (IE)
Filed on Feb. 27, 2023, as Appl. No. 18/114,310.
Application 18/114,310 is a continuation of application No. 17/862,791, filed on Jul. 12, 2022, granted, now 11,616,648.
Application 17/862,791 is a continuation of application No. 17/069,297, filed on Oct. 13, 2020, granted, now 11,424,924, issued on Aug. 23, 2022.
Application 17/069,297 is a continuation of application No. 16/164,965, filed on Oct. 19, 2018, granted, now 10,841,092, issued on Nov. 17, 2020.
Application 16/164,965 is a continuation of application No. 15/145,428, filed on May 3, 2016, granted, now 10,129,026, issued on Nov. 13, 2018.
Prior Publication US 2023/0224157 A1, Jul. 13, 2023
This patent is subject to a terminal disclaimer.
Int. Cl. H04L 9/30 (2006.01); H04L 9/08 (2006.01); H04L 9/00 (2022.01)
CPC H04L 9/3066 (2013.01) [H04L 9/002 (2013.01); H04L 9/006 (2013.01); H04L 9/0841 (2013.01); H04L 9/0861 (2013.01)] 21 Claims
OG exemplary drawing
 
1. A method for Cheon-resistance for a static elliptic curve Diffie-Hellman cryptosystem (ECDH), the method comprising:
receiving, at a second computing device and from a first computing device, a public key for the first computing device along with curve parameters of a curve with Cheon resistance, the curve with Cheon resistance comprising a curve chosen from a range of curves matching a threshold efficiency and excluding curves which may include intentional vulnerabilities, and being elected 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 second computing device;
computing a public key for the second computing device based on the curve parameters and the private key for the second computing device;
transmitting the public key for the second computing device to the first computing device;
computing a shared secret based on the public key for the first computing device and the private key for the second computing device; and
communicating with the first computing device using the shared secret.