IP Library › Granted Patent US 12,307,453
Granted Patent B2
US 12,307,453 · App. 17/121,103 · Granted May 20, 2025

Cryptographic encryption protocol for data types and values

Inventors: Aram Jivanyan (Yerevan, AM); Jesse Lancaster (Georgina, CA)
Assignee: Polymath Inc.
G06Q20/401G06F16/27G06Q20/36G06Q20/3829H04L9/0618H04L9/3073H04L9/3218H04L9/3239H04L9/50
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,307,453
App. No.
17/121,103
Filed
Dec 14, 2020
Granted
May 20, 2025
Kind
B2
Art Unit
3699
USPC
705/71
Abstract

Disclosed herein is a means that takes advantage of the immutable security provided by blockchain data structures and further implements measures that enable data in blockchain records to remain private to their respective users via the use of multiple ciphertexts that are subjected to zero-knowledge proofs and manipulated homomorphically. Ciphertexts make use of cryptographic key pair encryption where participants make use of public keys to encrypt data intended for one another alone.

Claims (54)

1. A method comprising:

initiating a cryptographic blockchain exchange between a first user and a second user, wherein the first user and the second user each have a respective cryptographic key pair including a public key and a private key;

establishing a first user profile associated with the first user that includes a first account ciphertext and a second account ciphertext, wherein the first account ciphertext encrypts an amount associated with the first user profile and the second account ciphertext encrypts an asset type associated with the first user profile;

establishing a second user profile associated with the second user that includes a third account ciphertext, wherein the third account ciphertext encrypts an asset type associated with the second user profile;

providing to the cryptographic blockchain exchange a first operand, a second operand, and a third operand, wherein the first and second operands originate from different respective sources;

encrypting the first operand with a first public key associated with the first user, thereby generating a first ciphertext, wherein the first operand is associated with an amount of the cryptographic blockchain exchange;

encrypting the second operand with a second public key associated with the second user, thereby generating a second ciphertext, wherein the second operand is associated with an amount of the cryptographic blockchain exchange;

encrypting the third operand with the second public key associated with the second user, thereby generating a third ciphertext, wherein the third operand is associated with an asset type of the cryptographic blockchain exchange;

confirming, via zero-knowledge proof, that the first ciphertext and the second ciphertext have matching plaintext amounts;

identifying, via zero-knowledge proof, that the third ciphertext and the second account ciphertext associated with the first user have matching plaintext asset types;

verifying, via zero-knowledge proof, that the third ciphertext and the third account ciphertext associated with the second user have matching plaintext asset types;

in response to said confirming, identifying, and verifying, appending the cryptographic blockchain exchange to an immutable public ledger with the first ciphertext, the second ciphertext, and the third ciphertext; and

in response to identifying the third ciphertext has a matching plaintext asset type with the second account ciphertext associated with the first user, and verifying the third ciphertext has a matching plaintext asset type with the third account ciphertext associated with the second user, executing the cryptographic blockchain exchange such that a first value associated with the amount of the first operand is shifted from the first user profile to the second user profile.

2. The method of claim 1 , further comprising:

simultaneously with executing the cryptographic blockchain exchange, updating the first account ciphertext to encrypt the first value subtracted from the amount associated with the first user.

3. The method of claim 1 , wherein said confirming further comprises:

confirming, via zero-knowledge proof, that the first operand or the second operand are non-negative values.

4. The method of claim 2 , wherein said confirming further comprises:

confirming, via zero-knowledge proof, that amount associated with the first user after said executing is non-negative.

5. The method of claim 1 , wherein said encrypting makes use of a nonce.

6. The method of claim 1 , wherein the first user provides the second operand and the second user provides the first operand.

7. The method of claim 1 , wherein the first user provides the first operand, the second operand, and the third operand.

8. A method comprising:

initiating a cryptographic blockchain exchange between a first user and a second user, wherein the first user and the second user each having a respective cryptographic key pair including a public key and a private key, the cryptographic blockchain exchange including a first operand, a second operand, and a third operand wherein the first and second operands are associated with an amount of the cryptographic blockchain exchange and the third operand is associated with an asset type of the cryptographic blockchain exchange;

establishing a first account asset type ciphertext associated with the first user, wherein the first account asset type ciphertext encrypts an asset type associated with the first user;

establishing a second account asset type ciphertext associated with the second user, wherein the second account asset type ciphertext encrypts an asset type associated with the second user;

providing to the cryptographic blockchain exchange the first operand, the second operand, and the third operand, wherein the first and second operands originate from different respective sources;

encrypting the first operand with a first public key associated with the first user, thereby generating a first ciphertext;

encrypting the second operand and the third operand with a second public key associated with the second user, thereby generating a second ciphertext and a third ciphertext respectively;

confirming, via zero-knowledge proof, that the first ciphertext and the second ciphertext have matching plaintext values;

identifying, via zero-knowledge proof, that the third ciphertext and the first account asset type ciphertext associated with the first user have matching plaintext asset types;

verifying, via zero-knowledge proof, that the third ciphertext and the second account ciphertext associated with the second user have matching plaintext asset types; and

in response to said confirming, identifying, and verifying, executing the cryptographic blockchain exchange on an immutable public ledger wherein the first ciphertext, the second ciphertext, and the third ciphertext are published, and wherein the amount of the cryptographic blockchain exchange is transferred from the first user to the second user.

9. The method of claim 8 , further comprising:

establishing a first user wallet associated with the first user that includes a first account amount ciphertext and the first account asset type ciphertext, wherein the first account amount ciphertext encrypts an amount stored by the first user wallet and the first account asset type ciphertext encrypts an asset type associated with the first user wallet.

10. The method of claim 8 , wherein said confirming further comprises:

confirming, via zero-knowledge proof, that the first operand or the second operand are non-negative values.

11. The method of claim 9 , wherein said confirming further comprises:

confirming, via zero-knowledge proof, that the amount associated with the first user after said executing is non-negative.

12. The method of claim 8 , wherein said executing requires signatures from the first private key associated with the first user and the second private key associated with the second user.

13. A system comprising:

a first node on a cryptographic network, the first node associated with a first user having a first cryptographic wallet and wherein the first user is identified by a first cryptographic keypair including a first public key and a first private key;

a second node on a cryptographic network, the second node associated with a second user having a second cryptographic wallet and wherein the second user is identified by a second cryptographic keypair including a second public key and a second private key; and

a distributed, immutable public ledger configured to store cryptographic transaction records;

wherein the first node is configured to initiate a cryptographic blockchain exchange between the first user and the second user, and wherein the first node is configured to receive values associated with a first operand, a second operand, and a third operand and the values associated with the first operand and the second operand originate from different users, wherein the first and second operands are associated with an amount of the cryptographic blockchain exchange and the third operand is associated with an asset type of the cryptographic blockchain exchange;

wherein the first node is configured to establish a first account asset type ciphertext associated with the first user, wherein the first account asset type ciphertext encrypts an asset type associated with the first cryptographic wallet;

wherein the second node is configured to establish a second account asset type ciphertext associated with the second user, wherein the second account asset type ciphertext encrypts an asset type associated with the second cryptographic wallet;

wherein the first node is configured to encrypt the first operand with the first public key thereby generating a first ciphertext, and encrypt the second operand and the third operand with the second public key thereby generating a second ciphertext and a third ciphertext respectively, and to confirm, via zero-knowledge proof, that the first ciphertext and the second ciphertext have matching plaintext values, and to identify, via zero-knowledge proof, that the third ciphertext and the first account asset type ciphertext have matching plaintext asset types;

wherein the second node is configured to verify that the third ciphertext and the second account asset type ciphertext have matching plaintext asset types; and

wherein the distributed immutable public ledger is configured to execute the cryptographic blockchain exchange in response to said verification by the second node, and wherein the distributed immutable public ledger is configured to publish the first ciphertext, the second ciphertext, and the third ciphertext, and wherein the amount of the cryptographic blockchain exchange is transferred from the first cryptographic wallet to the second cryptographic wallet.

14. The system of claim 13 , wherein the first cryptographic wallet further includes a first account amount ciphertext and the first account asset type ciphertext, wherein the first account amount ciphertext encrypts an amount stored by the first user wallet and the first account type ciphertext encrypts the asset type associated with the first user wallet.

15. The system of claim 13 , wherein the second node is further configured to confirm, via zero-knowledge proof, that the first operand or the second operand are non-negative values.

16. The system of claim 14 , wherein the second node is further configured to confirm, via zero-knowledge proof, that amount associated with the first user after said execution of the cryptographic blockchain exchange is non-negative.

17. The system of claim 13 , wherein said the distributed immutable public ledger requires signatures from the first private key and the second private key prior to executing the cryptographic blockchain exchange.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 4, 2021
From: POLYMATH INC.
To: POLYMESH ASSOCIATION
Reel/Frame 058030/0330 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2021
From: JIVANYAN, ARAM; LANCASTER, JESSE
To: POLYMATH INC.
Reel/Frame 054975/0134 →
Continuity (2)
Provisional Application 62983452 · Feb 28, 2020
Related Publication 20220020018A1 · Jan 20, 2022
References Cited (12)
US 11146399B2 · Westland et al. · 2021 [cited by examiner]
US 20190109712A1 · Blass et al. · 2019 [cited by examiner]
US 20190363871A1 · Cheon · 2019 [cited by examiner]
US 20190370792A1 · Lam · 2019 [cited by examiner]
US 20200034834A1 · Li et al. · 2020 [cited by examiner]
US 20200311695A1 · Cao et al. · 2020 [cited by examiner]
US 20210049594A1 · Liu et al. · 2021 [cited by examiner]
US 20210058230A1 · Zhang et al. · 2021 [cited by examiner]
US 20210058253A1 · Ma et al. · 2021 [cited by examiner]
US 20220138707A1 · Makrides et al. · 2022 [cited by examiner]
US 20220141021A1 · Makrides et al. · 2022 [cited by examiner]
Goldwasser et al.; Proof of Paintext Knowledge for the Ajtai-Dwork Cryptosystem (Year: 2005). [cited by examiner]
Cited By (1)
US 12,603,792