# US 10,313,124 B1 · Public key validation in supersingular isogeny-based cryptographic protocols

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

- Number: US 10,313,124 B1
- Document ID: US10313124B1
- Status: Granted
- Kind: B1
- Application number: 16/220,074
- Filed: 2018-12-14
- Granted: 2019-06-04
- Earliest claimed: 2018-02-02
- Assignees: ISARA Corporation
- Applicants: ISARA Corporation
- Inventors: Kassem Kalach; Anton Mosunov
- Web page: https://patentgrep.com/patent/US10313124B1

## CPC

- H04L 9/3073: {involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing}
- H04L 9/0819: {Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) (network architectures or network communication protocols for key distribution in a packet data network H04L63/062)}
- H04L 9/0841: {involving Diffie-Hellman or related key agreement protocols}
- H04L 9/085: {Secret sharing or secret splitting, e.g. threshold schemes}
- 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/0861: {Generation of secret information including derivation or calculation of cryptographic keys or passwords}
- H04L 9/14: using a plurality of keys or algorithms
- H04L 63/0428: {wherein the data content is protected, e.g. by encrypting or encapsulating the payload}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

In a general aspect, a supersingular isogeny-based cryptography process is performed. In some aspects, a first generator point is computed based on a secret integer of a first entity and a pair of elliptic curve points defined by a supersingular isogeny-based cryptosystem. An image curve is computed based on the secret integer, and a shared secret value is computed based on the image curve. An encrypted generator point is computed from the first generator point and the shared secret value. A public key of the first entity is sent to a second entity to enable the second entity to compute the shared secret value. The encrypted generator point is sent to the second entity to enable the second entity to validate the public key of the first entity.

## Claims

### Claim 1

A supersingular isogeny-based cryptography method, comprising:
obtaining a first public key of a first entity, the first public key comprising a first image curve and a first pair of elliptic curve points, wherein the first pair of elliptic curve points represent an image of a second pair of elliptic curve points under a first isogeny;
obtaining a secret integer of a second entity;
obtaining a second public key of the second entity based on the secret integer, the second public key comprising a second image curve and a third pair of elliptic curve points, wherein the third pair of elliptic curve points represent an image of a fourth pair of elliptic curve points under a second isogeny;
obtaining a first generator point based on the secret integer and the second pair of elliptic curve points;
computing, by operation of one or more processors, a third image curve based on the secret integer and the first pair of elliptic curve points;
computing, by operation of one or more processors, a shared secret value based on the third image curve;
computing, by operation of one or more processors, an encrypted generator point from the first generator point and the shared secret value;
sending, to the first entity, the second public key to enable the first entity to compute the shared secret value; and
sending, to the first entity, the encrypted generator point to enable the first entity to validate the second public key.

### Claim 2 (depends on 1)

The supersingular isogeny-based cryptography method of claim 1, wherein obtaining the first generator point comprises computing GB=PB [β]QB, where GB represents the first generator point, β represents the secret integer of the second entity, and (PB,QB) represents the second pair of elliptic curve points, and wherein the first generator point GB is a generator of a cyclic subgroup GB.

### Claim 3 (depends on 1)

The supersingular isogeny-based cryptography method of claim 1, wherein the encrypted generator point is computed by applying a symmetric key encryption function to the first generator point.

### Claim 4 (depends on 3)

The supersingular isogeny-based cryptography method of claim 3, comprising computing a session key and a verification key based on the shared secret value, wherein the symmetric key encryption function uses the session key and the verification key to generate the encrypted generator point.

### Claim 5 (depends on 1)

The supersingular isogeny-based cryptography method of claim 1, wherein computing the shared secret comprises computing the j-invariant of the third image curve, and the method further comprises using the shared secret value to execute cryptographic correspondence over a communication network between the first entity and the second entity.

### Claim 6 (depends on 1)

The supersingular isogeny-based cryptography method of claim 1, further comprising using the shared secret value to execute cryptographic correspondence over a communication network between the first entity and the second entity.

### Claim 7

A non-transitory computer-readable medium storing instructions that are operable when executed by data processing apparatus to perform operations comprising:
obtaining a first public key of a first entity, the first public key comprising a first image curve and a first pair of elliptic curve points, wherein the first pair of elliptic curve points represent an image of a second pair of elliptic curve points under a first isogeny;
obtaining a secret integer of a second entity;
obtaining a second public key of the second entity based on the secret integer, the second public key comprising a second image curve and a third pair of elliptic curve points, wherein the third pair of elliptic curve points represent an image of a fourth pair of elliptic curve points under a second isogeny;
obtaining a first generator point based on the secret integer and the second pair of elliptic curve points;
computing a third image curve based on the secret integer and the first pair of elliptic curve points;
computing a shared secret value based on the third image curve;
computing an encrypted generator point from the first generator point and the shared secret value;
sending, to the first entity, the second public key to enable the first entity to compute the shared secret value; and
sending, to the first entity, the encrypted generator point to enable the first entity to validate the second public key.

### Claim 8 (depends on 7)

The non-transitory computer-readable medium of claim 7, wherein obtaining the first generator point comprises computing GB=PB [β]QB, where GB represents the first generator point, β represents the secret integer of the second entity, and (PB,QB) represents the second pair of elliptic curve points, and wherein the first generator point GB is a generator of a cyclic subgroup GB.

### Claim 9 (depends on 7)

The non-transitory computer-readable medium of claim 7, wherein the encrypted generator point is computed by applying a symmetric key encryption function to the first generator point.

### Claim 10 (depends on 9)

The non-transitory computer-readable medium of claim 9, the operations comprising computing a session key and a verification key based on the shared secret value, wherein the symmetric key encryption function uses the session key and the verification key to generate the encrypted generator point.

### Claim 11 (depends on 7)

The non-transitory computer-readable medium of claim 7, wherein computing the shared secret comprises computing the j-invariant of the third image curve, and the operations further comprise using the shared secret value to execute cryptographic correspondence over a communication network between the first entity and the second entity.

### Claim 12 (depends on 7)

The non-transitory computer-readable medium of claim 7, the operations further comprising using the shared secret value to execute cryptographic correspondence over a communication network between the first entity and the second entity.

### Claim 13

A computing device, comprising:
one or more processors; and
memory storing instructions that are operable when executed by the one or more processors to perform operations comprising:
obtaining a first public key of a first entity, the first public key comprising a first image curve and a first pair of elliptic curve points, wherein the first pair of elliptic curve points represent an image of a second pair of elliptic curve points under a first isogeny;
obtaining a secret integer of a second entity;
obtaining a second public key of the second entity based on the secret integer, the second public key comprising a second image curve and a third pair of elliptic curve points, wherein the third pair of elliptic curve points represent an image of a fourth pair of elliptic curve points under a second isogeny;
obtaining a first generator point based on the secret integer and the second pair of elliptic curve points;
computing a third image curve based on the secret integer and the first pair of elliptic curve points;
computing a shared secret value based on the third image curve;
computing an encrypted generator point from the first generator point and the shared secret value;
sending, to the first entity, the second public key to enable the first entity to compute the shared secret value; and
sending, to the first entity, the encrypted generator point to enable the first entity to validate the second public key.

### Claim 14 (depends on 13)

The computing device of claim 13, wherein obtaining the first generator point comprises computing GB=PB [β]QB, where GB represents the first generator point, β represents the secret integer of the second entity, and (PB,QB) represents the second pair of elliptic curve points, and wherein the first generator point GB is a generator of a cyclic subgroup GB.

### Claim 15 (depends on 13)

The computing device of claim 13, wherein the encrypted generator point is computed by applying a symmetric key encryption function to the first generator point.

### Claim 16 (depends on 15)

The computing device of claim 15, the operations comprising computing a session key and a verification key based on the shared secret value, wherein the symmetric key encryption function uses the session key and the verification key to generate the encrypted generator point.

### Claim 17 (depends on 13)

The computing device of claim 13, wherein computing the shared secret comprises computing the j-invariant of the third image curve, and the operations further comprise using the shared secret value to execute cryptographic correspondence over a communication network between the first entity and the second entity.

### Claim 18 (depends on 13)

The computing device of claim 13, the operations further comprising using the shared secret value to execute cryptographic correspondence over a communication network between the first entity and the second entity.
