US 12,192,318 B2
Quantum-safe cryptographic method and system
Randy Kuang, Ottawa (CA); and Maria Perepechaenko, Ottawa (CA)
Assigned to Quantropi Inc., Ottawa (CA)
Filed by Quantropi Inc., Ottawa (CA)
Filed on Oct. 12, 2022, as Appl. No. 17/964,709.
Application 17/964,709 is a continuation in part of application No. PCT/CA2021/050319, filed on Mar. 10, 2021.
Claims priority of provisional application 63/327,491, filed on Apr. 5, 2022.
Prior Publication US 2023/0052431 A1, Feb. 16, 2023
Int. Cl. H04L 9/00 (2022.01); H04L 9/06 (2006.01); H04L 9/08 (2006.01); H04L 9/30 (2006.01)
CPC H04L 9/002 (2013.01) [H04L 9/0618 (2013.01); H04L 9/0877 (2013.01); H04L 9/3093 (2013.01)] 30 Claims
OG exemplary drawing
 
1. A method of operating a first computing apparatus of a recipient for cryptographic communication with a second computing apparatus, the method comprising:
receiving a message from the second computing apparatus;
identifying a plurality of ciphers in the received message;
retrieving from a memory of the first computing apparatus a private cryptographic key associated with the recipient, the private cryptographic key corresponding to a public cryptographic key associated with the recipient, the private cryptographic key comprising a plurality of private cryptographic key data elements;
solving for x in an equation:
[(f0(R0−1N0 mod S)+P′+fλ(Rn−1Nn mod S))/(h0(R0−1N0 mod S)+Q′+hλ(Rn−1Nn mod S))]*h(x)−f(x)=0 mod p, where:
p is a predetermined integer stored in the memory of the first computing apparatus;
P′, Q′, N0, and Nn correspond to the ciphers in the received message;
R0, Rn and S are included in the private cryptographic key data elements;
f(·) is a first polynomial function defined by a set of coefficients f0, f1, . . . fλ included in the private cryptographic key data elements, with λ being a predetermined integer; and
h(·) is a second polynomial function defined by a set of coefficients h0, h1, . . . hλ included in the private cryptographic key data elements;
assigning the value of x to a digital asset; and
storing the digital asset in non-transitory memory or packaging the digital asset in a message sent over a data network.