IP Library Granted Patent US 12,192,318
Granted Patent B2
US 12,192,318 · App. 17/964,709 · Granted Jan 7, 2025

Quantum-safe cryptographic method and system

Inventors: Randy Kuang (Ottawa, CA); Maria Perepechaenko (Ottawa, CA)
Assignee: Quantropi Inc.
H04L9/002H04L9/0618H04L9/0877H04L9/3093
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 12,192,318
App. No.
17/964,709
Granted
Jan 7, 2025
Kind
B2
Abstract

A cryptographic method and system. A plurality of ciphers is identified in a message received by a recipient, such message encrypting a digital asset. A private key associated with the recipient is obtained. The private key corresponds to a public key associated with the recipient. The method includes solving for x in the equation: [(f 0 (R 0 −1 N ′ 0 mod S)+ P ′+f λ (R n −1 N ′ n mod S))/(h 0 (R 0 −1 N ′ 0 mod S)+ Q ′+h λ (R n −1 N ′ n mod S))]*h(x)−f(x)=0 mod p, where (i) P ′, Q ′, N ′ 0 , and N ′ n correspond to the ciphers in the received message; (ii) R 0 , R n and S are data elements of the private key; (iii) f(·) is a polynomial function defined by coefficients f 0 , f 1 , . . . f λ that are also data elements of the private key; and (iv) h(·) is a polynomial function defined by coefficients h 0 , h 1 , . . . h λ that are also data elements of the private key. The value of x is assigned to the digital asset, which is then stored in non-transitory memory or packaged in a message sent over the data network.

Claims (100)

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:

[( f 0 ( R 0 −1 N ′ 0 mod S )+ P ′+f λ ( R n −1 N ′ n mod S ))/( h 0 ( R 0 −1 N ′ 0 mod S )+ Q ′+h λ ( R n −1 N ′ n 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 ′, N ′ 0 , and N ′ n correspond to the ciphers in the received message;

R 0 , R n and S are included in the private cryptographic key data elements;

f(·) is a first polynomial function defined by a set of coefficients f 0 , f 1 , . . . 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 h 0 , h 1 , . . . 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.

2. The method defined in claim 1 , further comprising receiving the private cryptographic key from a key generation server over an out-of-bank link.

3. The method defined in claim 1 , further comprising receiving the private cryptographic key from a key generation server not over the data network.

4. The method defined in claim 1 , further comprising generating the public cryptographic key and the private cryptographic key.

5. The method defined in claim 4 , further comprising withholding the private cryptographic key from a sender of the message.

6. The method defined in claim 4 , further comprising sending the public cryptographic key to a sender of the message over the data network.

7. The method defined in claim 1 , wherein λ is selected to be no greater than 3.

8. The method defined in claim 1 , wherein when solving for x yields a plurality of candidate solutions, the method further comprises selecting one of the candidate solutions as the digital asset.

9. The method defined in claim 8 , wherein selecting one of the candidate solutions as the digital asset comprises:

comparing a portion of each of the candidate solutions against a predetermined flag or code and selecting as the digital asset the candidate solution for which the compared portion matches the predetermined flag or code; or

performing a checksum on each candidate solution and comparing the checksum to a received checksum associated with each candidate solution and selecting as the digital asset the candidate solution for which the checksums are matching.

10. The method defined in claim 1 , wherein the public cryptographic key is formed from:

a. a first set of public key coefficients, being the coefficients of a first product polynomial in x obtained as the product of (i) a base polynomial in x of order n and m noise variables and (ii) a first entanglement polynomial f(x), minus the coefficient of x 0 and the coefficient of x n+λ , with m and n being predetermined integers stored in the memory of the first computing apparatus;

b. a second set of public key coefficients, being the coefficients of a second product polynomial in x obtained as the product of (i) said base polynomial in x of order n and said m noise variables and (ii) a second entanglement polynomial h(x), minus the coefficient of x 0 and the coefficient of x n+λ ;

c. a third set of public key coefficients, being the coefficients of a first linear combination of the noise variables, each multiplied by R 0 and then mod S; and

d. a fourth set of public key coefficients, being the coefficients of a second linear combination of the noise variables, each multiplied by R n and then mod S.

11. The method defined in claim 10 , wherein successful decryption of the digital asset occurs if the public cryptographic key was used by a sender to encrypt the digital asset by:

a. computing the cipher P ′ as the result of using the first set of public key coefficients as the coefficients of a first polynomial of the digital asset;

b. computing the cipher Q ′ as the result of using the second set of public key coefficients as the coefficients of a second polynomial of the digital asset;

c. computing the cipher N ′ 0 as the result of using the third set of public key coefficients as the coefficients of the terms of a linear combination of the noise variables with values selected by the sender; and

d. computing the cipher N ′ n as the result of using the fourth set of public key coefficients as the coefficients of the terms of a linear combination of said noise variables multiplied by the digital asset to the power n+λ.

12. The method defined in claim 10 , wherein p is selected to be at least as great as 2 6 , wherein n is selected to be at least as great as 3, or wherein m is selected to be at least as great as 2.

13. The method defined in claim 10 , wherein p is selected to be at least as great as 2 6 , wherein n is selected to be equal to 1, and wherein m is selected to be equal to 1.

14. The method defined in claim 1 , wherein p is represented by X bits and is selected to be the largest prime number less than 2 X .

15. A non-transitory computer-readable storage medium comprising computer-readable instructions which, when executed by a processing entity of a first computing apparatus, cause the first computing apparatus to carry out operations for cryptographic communication with a second computing apparatus, the operations including:

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 a 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:

[( f 0 ( R 0 −1 N ′ 0 mod S )+ P ′+f λ ( R n −1 N ′ n mod S ))/( h 0 ( R 0 −1 N ′ 0 mod S )+ Q ′+h λ ( R n −1 N ′ n 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 ′, N ′ 0 , and N ′ n correspond to the ciphers in the received message;

R 0 , R n , S p and S q are included in the private cryptographic key data elements;

f(·) is a first polynomial function defined by a set of coefficients f 0 , f 1 , . . . f λ included in the private cryptographic key data elements; and

h(·) is a second polynomial function defined by a set of coefficients h 0 , h 1 , . . . 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.

16. A method of operating a first computing apparatus of a recipient server 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:

[( R p −1 P ′ mod S p )/( R q −1 Q ′ mod S q )]* h ( x )− f ( x )=0 mod p , where:

p is a predetermined integer stored in the memory of the first computing apparatus;

P ′ and Q ′ correspond to the ciphers in the received message;

R p , R q , S p and S q are included in the private cryptographic key data elements;

f(·) is a first polynomial function defined by a set of coefficients f 0 , f 1 , . . . f λ included in the private cryptographic key data elements; and

h(·) is a second polynomial function defined by a set of coefficients h 0 , h 1 , . . . 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.

17. The method defined in claim 16 , further comprising receiving the private cryptographic key from a key generation server over an out-of-bank link.

18. The method defined in claim 16 , further comprising receiving the private cryptographic key from a key generation server not over the data network.

19. The method defined in claim 16 , further comprising generating the public cryptographic key and the private cryptographic key.

20. The method defined in claim 19 , further comprising withholding the private cryptographic key from a sender of the message.

21. The method defined in claim 19 , further comprising sending the public cryptographic key to a sender of the message over the data network.

22. The method defined in claim 16 , wherein λ is selected to be no greater than 3.

23. The method defined in claim 16 , wherein when solving for x yields a plurality of candidate solutions, the method further comprises selecting one of the candidate solutions as the digital asset.

24. The method defined in claim 16 , wherein S p and S q are selected to be identical.

25. The method defined in claim 16 , wherein the public cryptographic key is formed from:

a. a first set of public key coefficients, being the coefficients of a first product polynomial in x obtained as the product of (i) a base polynomial in x of order n and m noise variables and (ii) a first entanglement polynomial f(x), minus the resulting coefficient of x 0 and the resulting coefficient of x n+λ , each remaining coefficient multiplied by R p and then mod S p , with m and n being predetermined integers stored in the memory of the first computing apparatus; and

b. a second set of public key coefficients, being the coefficients of a second product polynomial in x obtained as the product of (i) said base polynomial in x of order n and said m noise variables and (ii) a second entanglement polynomial h(x), minus the resulting coefficient of x 0 and the resulting coefficient of x n+λ , each remaining coefficient multiplied by R q and then mod S q .

26. The method defined in claim 25 , wherein successful decryption of the digital asset occurs if the public cryptographic key was used by a sender to encrypt the digital asset by:

a. computing the cipher P ′ as the result of using the first set of public key coefficients as the coefficients of a first polynomial of the digital asset; and

b. computing the cipher Q ′ as the result of using the second set of public key coefficients as the coefficients of a second polynomial of the digital asset.

27. The method defined in claim 25 , wherein p is selected to be at least as great as 2 32 , wherein n is selected to be at least as great as 1, and wherein and m is selected to be at least as great as 1.

28. The method defined in claim 25 , wherein p is selected to be at least as great as 2 32 , wherein n is selected to be at least as great as 1, and wherein and m is selected to be at least as great as 2.

29. A non-transitory computer-readable storage medium comprising computer-readable instructions which, when executed by a processing entity of a first computing apparatus, cause the computing apparatus to carry out operations for cryptographic communication with a second computing apparatus, the operations including:

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 a 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:

[( R p −1 P ′ mod S p )/( R q −1 Q ′ mod S q )]* h ( x )− f ( x )=0 mod p , where:

p is a predetermined integer stored in the memory of the first computing apparatus;

P ′ and Q ′ correspond to the ciphers in the received message;

R p , R q , S p and S q are included in the private cryptographic key data elements;

f(·) is a first polynomial function defined by a set of coefficients f 0 , f 1 , . . . f λ included in the private cryptographic key data elements; and

h(·) is a second polynomial function defined by a set of coefficients h 0 , h 1 , . . . 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.

30. A method of operating an encryption server of a first computing apparatus to encrypt a digital asset for transmission to a second computing apparatus over a data network, the method comprising:

identifying a public key associated with a recipient, the public key comprising a first, a second, a third and a fourth set of public key coefficients, the public key being part of a public-private key pair associated with the recipient;

selecting m noise variables, wherein m is an integer greater than or equal to 1;

creating a plurality of ciphers based on the public key, the digital asset and the noise variables, wherein a ciphertext comprises:

a first cipher computed as the result of using the first set of public key coefficients as the coefficients of a first polynomial of the digital asset;

a second cipher computed as the result of using the second set of public key coefficients as the coefficients of a second polynomial of the digital asset;

a third cipher computed as the result of using the third set of public key coefficients as the coefficients of terms of a linear combination of the noise variables; and

a fourth cipher computed as the result of using the fourth set of public key coefficients as the coefficients of the terms of a linear combination of the noise variables multiplied by the digital asset to the power n+λ, where n and λ are integers at least as great as one; and

sending a message comprising the plurality of ciphers over the data network towards the recipient server in possession of the private key.

Assignments (2)
SECURITY INTEREST Recorded Nov 4, 2025
From: QUANTROPI INC.
To: DUNA TRANSPORTATION AND TOURISM DEVELOPMENT KORLATOLT FELELOSSEGU TARSASAG
Reel/Frame 072772/0517 →
CONFIRMATORY ASSIGNMENT Recorded Aug 11, 2023
From: KUANG, RANDY; PEREPECHAENKO, MARIA
To: QUANTROPI INC.
Reel/Frame 064571/0822 →
Continuity (3)
Continuation In Part PCTCA2021050319 · Mar 10, 2021
Provisional Application 63327491 · Apr 5, 2022
Related Publication 20230052431A1 · Feb 16, 2023
References Cited (104)
US 5724425A · Chang et al. · 1998 [cited by applicant]
US 5764765A · Phoenix · 1998 [cited by examiner]
US 5996076A · Rowney et al. · 1999 [cited by applicant]
US 6188768B1 · Bethune et al. · 2001 [cited by applicant]
US 6678379B1 · Mayers et al. · 2004 [cited by applicant]
US 6748083B2 · Hughes · 2004 [cited by examiner]
US 6801626B1 · Nambu · 2004 [cited by applicant]
US 7065210B1 · Tsujii et al. · 2006 [cited by applicant]
US 7437081B2 · Mitchell · 2008 [cited by examiner]
US 7570767B2 · Lo · 2009 [cited by applicant]
US 7991152B2 · Gueron et al. · 2011 [cited by applicant]
US 8675876B2 · Yamamoto · 2014 [cited by examiner]
US 8855316B2 · Wiseman · 2014 [cited by examiner]
US 9219604B2 · Resch et al. · 2015 [cited by applicant]
US 9960465B2 · Dudley · 2018 [cited by examiner]
US 10057058B2 · Murakami · 2018 [cited by examiner]
US 10484185B2 · Fu · 2019 [cited by applicant]
US 10541809B2 · Godfrey · 2020 [cited by examiner]
US 10951404B1 · Kuang · 2021 [cited by applicant]
US 11170092B1 · Liang · 2021 [cited by applicant]
US 11190343B2 · Shim · 2021 [cited by examiner]
US 11641347B2 · Kuang et al. · 2023 [cited by applicant]
US 20020015491A1 · Nishioka et al. · 2002 [cited by applicant]
US 20050135627A1 · Zavriyev et al. · 2005 [cited by applicant]
US 20050138352A1 · Gauvreau · 2005 [cited by examiner]
US 20050190922A1 · LaGasse · 2005 [cited by applicant]
US 20050286723A1 · Vig et al. · 2005 [cited by applicant]
US 20060085737A1 · Liu · 2006 [cited by examiner]
US 20060136728A1 · Gentry et al. · 2006 [cited by applicant]
US 20070065154A1 · Luo · 2007 [cited by examiner]
US 20070076883A1 · Kuang · 2007 [cited by applicant]
US 20070076884A1 · Wellbrock · 2007 [cited by examiner]
US 20070076888A1 · Kuang et al. · 2007 [cited by applicant]
US 20070087756A1 · Hoffberg · 2007 [cited by applicant]
US 20070160212A1 · Zavriyev et al. · 2007 [cited by applicant]
US 20070195774A1 · Sherman · 2007 [cited by examiner]
US 20080222734A1 · Redlich et al. · 2008 [cited by applicant]
US 20090249068A1 · Farrugia et al. · 2009 [cited by applicant]
US 20100329447A1 · Akiyama et al. · 2010 [cited by applicant]
US 20110206204A1 · Sychev · 2011 [cited by examiner]
US 20110213979A1 · Wiseman · 2011 [cited by examiner]
US 20140010234A1 · Patel · 2014 [cited by examiner]
US 20140068765A1 · Choi · 2014 [cited by examiner]
US 20140133652A1 · Oshida · 2014 [cited by examiner]
US 20150033025A1 · Hoffstein et al. · 2015 [cited by applicant]
US 20150172292A1 · Kuang et al. · 2015 [cited by applicant]
US 20160164884A1 · Sriram et al. · 2016 [cited by applicant]
US 20160241396A1 · Fu · 2016 [cited by examiner]
US 20160359626A1 · Fu · 2016 [cited by examiner]
US 20160366094A1 · Mason · 2016 [cited by examiner]
US 20170063827A1 · Ricardo · 2017 [cited by applicant]
US 20170141918A1 · Dubrova et al. · 2017 [cited by applicant]
US 20170214525A1 · Zhao · 2017 [cited by examiner]
US 20170230173A1 · Choi · 2017 [cited by examiner]
US 20170324553A1 · Ahn · 2017 [cited by applicant]
US 20170324554A1 · Tomlinson et al. · 2017 [cited by applicant]
US 20180109377A1 · Fu · 2018 [cited by applicant]
US 20180176091A1 · Yoon · 2018 [cited by examiner]
US 20180278426A1 · Tang et al. · 2018 [cited by applicant]
US 20190036821A1 · Levy · 2019 [cited by examiner]
US 20190349392A1 · Wetterwald · 2019 [cited by examiner]
US 20190386832A1 · Palyutina et al. · 2019 [cited by applicant]
US 20200084030A1 · Nendell · 2020 [cited by applicant]
US 20200084222A1 · William · 2020 [cited by examiner]
US 20200266980A1 · Grant · 2020 [cited by applicant]
US 20200274701A1 · Yuan · 2020 [cited by examiner]
US 20200280436A1 · Nix · 2020 [cited by examiner]
US 20200322141A1 · Kinjo · 2020 [cited by examiner]
US 20220103375A1 · El Kaafarani et al. · 2022 [cited by applicant]
US 20220150064A1 · Akiyama · 2022 [cited by applicant]
US 20220311752A1 · Kuang · 2022 [cited by examiner]
CA 2374189A1 · 2003 [cited by applicant]
CN 114338030A · 2022 [cited by applicant]
EP 1249963A2 · 2002 [cited by applicant]
JP 2006208967A · 2006 [cited by applicant]
JP 2009171384A · 2009 [cited by applicant]
WO 2014174491A1 · 2014 [cited by applicant]
WO 2020098833A2 · 2020 [cited by applicant]
WO 2021009860A1 · 2021 [cited by applicant]
WO 2021248226A1 · 2021 [cited by applicant]
WO 2021248227A1 · 2021 [cited by applicant]
WO WO2022187959A1 · 2022 [cited by applicant]
WO WO2023193088A1 · 2023 [cited by applicant]
Office Action mailed Sep. 29, 2020 in connection with U.S. Appl. No. 16/921,583. [cited by applicant]
Notice of Allowance mailed Jan. 22, 2021 in connection with U.S. Appl. No. 16/921,583. [cited by applicant]
International Search Report and Written Opinion mailed Jun. 1, 2022 in connection with International Application No. PCT/CA2022/050349. [cited by applicant]
International Search Report and Written Opinion mailed May 14, 2021 in connection with International Application No. PCT/CA2021/050319. [cited by applicant]
International Search Report and Written Opinion mailed Apr. 15, 2021 in connection with International Application No. PCT/CA2021/050147. [cited by applicant]
[No. Author Listed], Security Requirements for Cryptographic Modules. Fips Pub 140-2. Information Technology Laboratory, National Institute of Standards and Technology. May 25, 2001. 69 pages. [cited by applicant]
Bourgain et al., Character sums and deterministic polynomial root finding in finite fields. arXiv:1308.4803v2. Mar. 10, 2014. 11 pages. [cited by applicant]
Chang et al., Quantum annealing for systems of polynomial equations. Scientific Reports. Jul. 2019;9(1):1-9. DOI: 10.1038/s41598-019-46729-0. [cited by applicant]
Ding et al., Multivariate Public Key Cryptography. Sep. 26, 2009. 48 pages. URL:http://www.iis.sinica.edu.tw/papers/byyang/12734-F.pdf [last accessed May 12, 2021]. [cited by applicant]
Horodecki et al., Quantum Entanglement. arXiv:quant-ph/0702225v2. Apr. 20, 2007. 110 pages. [cited by applicant]
Kasahara, Construction of a New Class of Linear Multivariate Public Key Cryptosystem, K(I)SE(1)PKC. Nov. 7, 2009. 5 pages. URL:https://eprint.iacr.org/2009/546.pdf [last accessed May 12, 2021]. [cited by applicant]
Moody et al., NIST PQC Standardization Update—Round 2 and Beyond. Crypto Technology Group, National Institute of Standards and Technology. Sep. 2020. 38 pages. URL:https://csrc.nist.gov/CSRC/media/Presentations/pqc-upda… [cited by applicant]
Okyere-Gyamfi et al., An Enhanced Asymmetric Cryptosystem using Multiple Key System. International Journal of Computer Applications. Apr. 2020;176(15):18-26. [cited by applicant]
Sun et al., Quantum algorithm for polynomial root finding problem. 2014 Tenth International Conference on Computational Intelligence and Security. Nov. 2014, pp. 469-473. DOI: 10.1109/CIS.2014.40. [cited by applicant]
Office Action mailed Sep. 1, 2022 in connection with USAN U.S. Appl. No. 17/691,295. [cited by applicant]
Notice of Allowance mailed Jan. 9, 2023, in connection with usan U.S. Appl. No. 17/691,295. [cited by applicant]
Hegade et al., Digitized-counterdiabatic quantum factorization. arXiv preprint arXiv:2301.11005. Jan. 26, 2023. 3 pages. [cited by applicant]
Wang et al., An improved signature model of multivariate polynomial public key cryptosystem against key recovery attack. Mathematical Biosciences and Engineering. Aug. 2019;16(6):7734-50. [cited by applicant]
Yan et al., Factoring integers with sublinear resources on a superconducting quantum processor. arXiv preprint arXiv:2212.12372. Dec. 23, 2022. 32 pages. [cited by applicant]
PCT/CA2023/050423, May 26, 2023, International Search Report and Written Opinion. [cited by applicant]
International Search Report and Written Opinion mailed May 26, 2023 in connection with PCT/CA2023/050423. [cited by applicant]