# US 2021/0344476 A1 · A Cryptographic System and Method

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2021/0344476 A1
- Document ID: US20210344476A1
- Status: Published application
- Kind: A1
- Application number: 16/268,098
- Filed: 2018-12-21
- Published: 2021-11-04
- Earliest claimed: 2018-12-21
- Assignees: Communique Laboratory Inc.
- Applicants: Communique Laboratory Inc.
- Inventors: Sergey Bezzateev; Sergey Strakhov; Andrew Cheung
- Web page: https://patentgrep.com/patent/US20210344476A1

## CPC

- H04L 9/002: {Countermeasures against attacks on cryptographic mechanisms (network architectures or network communication protocols for protection against malicious traffic H04L63/1441)}
- G06F 21/602: {Providing cryptographic facilities or services}
- H04L 9/3026: {details relating to polynomials generation, e.g. generation of irreducible polynomials}
- H04L 9/3247: {involving digital signatures}
- H04L 9/50: {using hash chains, e.g. blockchains or hash trees}
- H04L 9/0852: {Quantum cryptography (transmission systems employing electromagnetic waves other than radio waves, e.g. light, infrared H04B10/00; wavelength-division multiplex systems H04J14/02; WDM arrangements H04J14/03)}
- H04L 9/304: {based on error correction codes, e.g. McEliece}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A system and method for encryption of data. The system and method utilizes a cryptographic function that provides asymmetric encryption/decryption and digital signing capabilities that are hardened against cyber attack from quantum computers.

## Claims

### Claim 1

A cryptographic system, comprising:
an input device configured to receive data to be encrypted, decrypted, signed, and verified; and
a processor configured to receive the data to be encrypted, decrypted, signed, and verified and to encrypt, decrypted, signed, and verified the data using instructions from a cryptographic engine;
wherein the instructions, when executed, cause encryption, decrypted, signed, and verified of the data using a code-based encryption scheme based on binary irreducible Goppa code in which a support set consists of rational functions with a degree of a denominator not greater than a degree of a Goppa polynomial and wherein the encrypted data is protected against an attack from a quantum computer.

### Claim 2 (depends on 1)

The cryptographic system of claim 1, wherein the instructions when executed also use the Goppa code in a weighted Hamming metric.

### Claim 3 (depends on 1)

The cryptographic system of claim 1, wherein the Goppa polynomial has the degree not less than r, where r is a maximum degree of a denominator of a rational function over F2m[x] in the set of L, where L is a set of rational functions of degree not greater than r where r is greater than to 1, and with coefficients from a finite field GF(2m).

### Claim 4 (depends on 3)

The cryptographic system of claim 3, wherein the instructions when executed also uses the Goppa code in a weighted Hamming metric.

### Claim 5 (depends on 4)

The cryptographic system of claim 4, wherein the code based encryption scheme is a generalized (L, G) code in which a set of proper rational functions (L) over (F2m[x]) are chosen, wherein the denominators of L are various irreducible polynomials from F2m[x] with degree less than or equal to r where r is greater than 1, and where the numerators are formal derivatives of the denominators.

### Claim 6 (depends on 5)

The cryptographic system of claim 5, wherein the instructions when executed further generate a private key satisfying the relationship K={S, P, L, G(x)} wherein:
a parity check matrix H is generated for binary generalized Goppa code with Goppa polynomial G(x) of degree equal to t, where G(x) is an irreducible polynomial with coefficients from a Galois field GF(2m)
locator polynomials for support set L of binary generalized (L, G) code are generated as irreducible polynomials with coefficients from the field GF(2m) having a degree not greater than r;
a vector length set N={n1, n2, . . . , nr} of Goppa code is generated, where ni=I2m(i), i=1, . . . , r, and n=Σi=1r ni, where I2m(i) is a number of irreducible polynomials of degree i with coefficients from the field GF(2m);
a vector position weight set W={w1, w2, . . . , wr} is generated,
where the first n1 positions have weight w1=1, the second n2 positions have weight w2=2, and the last nr positions have weight wr=r;
a random mt×mt non-singular matrix S is selected, where deg G(x)=t;
a random n×n permutation matrix P is selected; and
a public key H*=S×H×P is computed.

### Claim 7

A cryptographic system, comprising:
an input device configured to receive data to be encrypted, decrypted, signed, and verified; and
a processor configured to receive the data to be encrypted, decrypted, signed, and verified and to encrypt, decrypted, signed, and verified the data using instructions from a cryptographic engine;
wherein the instructions, when executed, cause encryption, decrypted, signed, and verified of the data using a code-based encryption scheme based on binary irreducible Goppa code in which locator polynomials for support set L have degree not greater than r, where r is the maximum degree of the denominator of a rational function over F2m[x] and wherein the encrypted, decrypted, signed, and verified data is protected against attack from a quantum computer.

### Claim 8 (depends on 7)

The cryptographic system of claim 7, wherein the instructions when executed also uses the Goppa code in a weighted Hamming metric.

### Claim 9

A method of encrypting, decrypted, signed, and verified data, comprising the steps of:
receiving data at an input device; and
forwarding the data to a processor for encrypting, decrypted, signed, and verified the data using instructions provided by a cryptographic engine;
wherein the instructions, when executed, encrypt, decrypted, signed, and verified the data using a code-based encryption scheme based on binary irreducible Goppa code in which a support set consists of rational functions with a degree of a denominator not greater than the degree of Goppa polynomial and wherein the encrypted, decrypted, signed, and verified data is protected against attack from a quantum computer.

### Claim 10 (depends on 9)

The method of claim 9, wherein the instructions when executed also use the Goppa codes in a weighted Hamming metric.

### Claim 11 (depends on 9)

The method of claim 9, wherein the polynomials have degree not greater than r, where r is the maximum degree of the denominator of a rational function over F2m[x] in the set of L, where L is a set of rational functions of degree not greater than r where r is greater than 1, and with coefficients from a finite field GF(2m).

### Claim 12 (depends on 11)

The method of claim 11, wherein the instructions when executed also use the Goppa codes in a weighted Hamming metric.

### Claim 13 (depends on 12)

The method of claim 12, wherein the code based encryption scheme is a generalized (L, G) code in which a set of proper rational functions (L) over (F2m[x]) are chosen, wherein the denominators of L are various irreducible polynomials from F2m[x] with degree less than or equal to r where r is greater than 1, and where the numerators are formal derivatives of the denominators.

### Claim 14 (depends on 13)

The method of claim 13, wherein the instructions when executed further generate a private key satisfying the relationship K={S, P, L, G(x)} wherein:
a parity check matrix H is generated for binary generalized Goppa code with Goppa polynomial G(x) of degree equal to t, where G(x) is an irreducible polynomial with coefficients from a Galois field GF(2m);
locator polynomials for support set L of binary generalized (L, G) code are generated as irreducible polynomials with coefficients from the field GF(2m) having a degree not greater than r; a vector length set N={n1, n2, . . . , nr} of Goppa code is generated, where ni=I2m(i), i=1, . . . , r, and n=Σi=1r ni, where I2m(i) is a number of irreducible polynomials of degree i with coefficients from the field GF(2m);
a vector position weight set W={w1, w2, . . . , wr} is generated,
where the first n1 positions have weight w1=1, the second n2 positions have weight w2=2, and the last nr positions have weight wr=r;
a random mt×mt non-singular matrix S is selected, where deg G(x)=t;
a random n×n permutation matrix P is selected; and
a public key H*=S×H×P is computed.

### Claim 15

A method of encrypting data, comprising the steps of:
receiving data to be encrypted at an input device; and
providing the data to be encrypted to a processor for encrypting that data using instructions from a cryptographic engine;
wherein the instructions, when executed, cause encryption of the data using a code-based encryption scheme based on binary irreducible Goppa code in which locator polynomials for support set L have degree not greater than r, where r is the maximum degree of the denominator of a rational function over F2m[x] and wherein the encrypted data is protected against attack from a quantum computer.

### Claim 16 (depends on 15)

The method of claim 15, wherein the instructions when executed also use the Goppa codes in a weighted Hamming metric.

### Claim 17 (depends on 9)

The method of claim 9 wherein the data to be encrypted is a message vector to be securely transmitted from a sender to a receiver.

### Claim 18 (depends on 15)

The method of claim 15 wherein the data to be encrypted is a message vector to be securely transmitted from a sender to a receiver.

### Claim 19 (depends on 9)

The method of claim 9 wherein the data when encrypted is a digital signature.

### Claim 20 (depends on 15)

The method of claim 15 wherein the data when encrypted is a digital signature.
