IP Library › Granted Patent US 12,113,890
Granted Patent B2
US 12,113,890 · App. 17/849,837 · Granted Oct 8, 2024

Homomorphic encryption using smart contracts

Inventors: Ori Yampolsky (Herzliya, IL); Tsvi Lev (Tel-Aviv, IL); Yaacov Hoch (Ramat-Gan, IL)
Assignee: NEC Corporation Of America
H04L9/008H04L9/3218
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,113,890
App. No.
17/849,837
Granted
Oct 8, 2024
Kind
B2
Abstract

There is provided a system of cryptography for securing data on a blockchain, comprising: at least one hardware processor executing a code for: obtaining at least one encrypted data item, encrypted with a public key compliant with a homomorphic encryption mechanism, feeding the at least one encrypted data item into a computational process that computationally processes the at least one encrypted data item with computations compliant with the homomorphic encryption mechanism, and providing at least one encrypted outcome of the computational process to a smart contract for posting on a blockchain, wherein the at least one encrypted outcome is compliant with the homomorphic encryption mechanism and decrypted with a private key corresponding to the public key.

Claims (21)

1. A system of cryptography for securing data on a blockchain, comprising: at least one hardware processor executing a code for enabling uploading secured data to a blockchain, said code comprising code instructions for:

obtaining at least one encrypted data item, encrypted with a public key compliant with a homomorphic encryption mechanism;

feeding the at least one encrypted data item into a computational process that is executed by at least one processor of a network connected offload-server that executes the computational process off the blockchain, and is in network communication with network nodes hosting the blockchain and a smart contract, said computational process manipulates the at least one encrypted data item with computations compliant with the homomorphic encryption mechanism and provides at least one encrypted outcome;

obtaining the at least one encrypted outcome of the computational process from the network connected offload-server; and

providing said at least one encrypted outcome to said smart contract for posting on a blockchain, wherein the at least one encrypted outcome is compliant with the homomorphic encryption mechanism and decrypted with a private key corresponding to the public key, and

wherein the at least one encrypted outcome is obtained as an aggregation of sub-outcomes obtained from the plurality of off-loading smart contracts.

2. The system of claim 1 , wherein feeding the at least one encrypted data comprises feeding the at least one encrypted data into a plurality of computational processes executed by a plurality of off-loading smart contracts executing on a plurality of off-loading servers, wherein the at least one encrypted outcome is obtained as an aggregation of sub-outcomes obtained from the plurality of off-loading smart contracts.

3. The system of claim 1 , further comprising code that when executed by a processor of a client terminal, causes the processor to:

generate a pair including a private key and a public key, compliant with the homomorphic encryption mechanism;

encrypt at least one data item with the public key to generate the at least one encrypted data item, and

provide the at least one encrypted data item for feeding into the computational process.

4. The system of claim 3 , further comprising code that when executed by a processor of a client terminal, causes the processor to:

access the blockchain to obtain the at least one encrypted outcome; and

decrypt the at least one encrypted outcome with the private key to obtain at least one decrypted outcome.

5. The system of claim 1 , further comprising code for obtaining a zero knowledge proof from the computational process, and providing the zero knowledge proof to the smart contract for storing on the blockchain.

6. The system of claim 1 , wherein the at least one encrypted data item is obtained from a client terminal.

7. A method of cryptography for securing data on a blockchain, comprising: using at least one hardware processor executing a code for enabling uploading secured data to a blockchain, said code comprising code instructions for: obtaining at least one encrypted data item, encrypted with a public key compliant with a homomorphic encryption mechanism; feeding the at least one encrypted data item into a computational process that is executed by at least one processor of a network connected offload-server that executes the computational process off the blockchain, and is in network communication with network nodes hosting the blockchain and a smart contract, said computational process manipulates the at least one encrypted data item with computations compliant with the homomorphic encryption mechanism and provides at least one encrypted outcome; obtaining the at least one encrypted outcome of the computational process from the network connected offload-server; and providing said at least one encrypted outcome toa-said smart contract for posting on a blockchain, wherein the at least one encrypted outcome is compliant with the homomorphic encryption mechanism and decrypted with a private key corresponding to the public key, and

wherein the at least one encrypted outcome is obtained as an aggregation of sub-outcomes obtained from the plurality of off-loading smart contracts.

8. A non-transitory medium storing program instructions for securing data on a blockchain, which, when executed by at least one processor, cause the at least one processor to enable uploading secured data to a block chain, said program instructions comprising:

program instructions to obtain at least one encrypted data item, encrypted with a public key compliant with a homomorphic encryption mechanism; program instructions to feed the at least one encrypted data item into a computational process that is executed by at least one processor of a network connected offload-server that executes the computational process off the blockchain, and is in network communication with network nodes hosting the blockchain and a smart contract, said computational process manipulates the at least one encrypted data item with computations compliant with the homomorphic encryption mechanism and provides at least one encrypted outcome; program instructions to obtain the at least one encrypted outcome of the computational process from the network connected offload-server; and program instructions to provide said at least one encrypted outcome to said smart contract for posting on a blockchain, wherein the at least one encrypted outcome is compliant with the homomorphic encryption mechanism and decrypted with a private key corresponding to the public key, and

wherein the at least one encrypted outcome is obtained as an aggregation of sub-outcomes obtained from the plurality of off-loading smart contracts.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 2, 2022
From: YAMPOLSKY, ORI; LEV, TSVI; HOCH, YAACOV
To: NEC CORPORATION OF AMERICA
Reel/Frame 060693/0407 →
Continuity (1)
Related Publication 20230421351A1 · Dec 28, 2023