IP Library › Granted Patent US 10,911,235
Granted Patent B2
US 10,911,235 · App. 15/562,904 · Granted Feb 2, 2021

Method for verifying information

Inventors: Francesco Alesiani (Heidelberg, DE); Sebastian Gajek (Berlin, DE)
Assignee: NEC CORPORATION
H04L9/3218G06F17/16H04L9/0816H04L9/3026
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 10,911,235
App. No.
15/562,904
Granted
Feb 2, 2021
Kind
B2
Abstract

A method for verifying information in a cloud computing system includes generating, by one or more computation devices, an evaluation key and a verification key in a memory available to at least one of the one or more computation devices based on a security parameter and a function to be evaluated; computing, by the one or more computation devices, an output of the function to be evaluated in a memory available to at least one of the one or more computation devices using an input; computing, by the one or more computation devices, a proof for an outcome using the evaluation key in a memory available to at least one of the computation devices; and verifying, by the one or more computation devices, if the proof is valid based on the verification key in a memory available to at least one of the one or more computation devices.

Claims (33)

1. A method for verifying information in a cloud computing system, the method comprising:

by one or more computation devices:

generating an evaluation key and a verification key in a memory available to at least one of the one or more computation devices based on a security parameter and a function to be evaluated;

computing an output of the function to be evaluated in a memory available to at least one of the one or more computation devices using an input;

computing a proof for an outcome using the evaluation key in a memory available to at least one of the computation devices; and

verifying if the proof is valid based on the verification key in a memory available to at least one of the one or more computation devices,

wherein the function is defined as a mapping between matrix groups over a finite field and encoded into a polynomial in a memory available to at least one of the one or more computation devices,

wherein the polynomial is described and implemented as an arithmetic circuit, and

wherein the function to be evaluated is encoded such that the polynomial is a trace of a difference between the product of left and right input matrix polynomials of all gates of the arithmetic circuit and the output matrix polynomial of all gates of the arithmetic circuit.

2. The method according to claim 1 , wherein the function to be evaluated is encoded such that a target polynomial is generated belonging to the finite field over the input which always divides the polynomial.

3. The method according to claim 2 , wherein the input and output matrix polynomials are randomly shifted by adding a product of the target polynomial with a random number to the input and output matrix polynomials.

4. The method according to claim 3 , wherein, when computing the outcome, a second polynomial is used with the input and the random number which is used for generating the evaluation key and the verification key.

5. The method according to claim 3 , wherein the proof is computed using the randomly shifted input and output matrix polynomials dependent from the random number.

6. The method according to claim 1 , wherein for verifying the validity of the proof, a correct structure of the arithmetic circuit is checked.

7. The method according to claim 3 , wherein for verifying the validity of the proof, it is checked whether the target polynomial divides the randomly shifted input and output matrix polynomials.

8. The method according to claim 3 , wherein for verifying the validity of the proof, linear combinations computed over the randomly shifted input and output matrix polynomials are checked if they are in their corresponding spans.

9. The method according to claim 1 , wherein the input is private.

10. A computing system in a cloud computing system comprising one or more computation devices communicating with each other and being operable and configured to:

generate an evaluation key and a verification key in a memory available to at least one of the one or more computation devices based on a security parameter and a function to be evaluated by a key generator,

compute an output of the function to be evaluated using an input in a memory available to at least one of the one or more computation devices,

compute a proof for an outcome using the evaluation key in a memory available to at least one of the one or more computation devices, and

verify if the proof is valid based on the verification key in a memory available to at least one of the one or more computation devices,

wherein the function is defined as a mapping between matrix groups over a finite field and encoded into a polynomial in a memory available to at least one of the one or more computation devices,

wherein the polynomial is described and implemented as an arithmetic circuit, and

wherein the function to be evaluated is encoded such that the polynomial is a trace of a difference between the product of left and right input matrix polynomials of all gates of the arithmetic circuit and the output matrix polynomial of all gates of the arithmetic circuit.

11. The system according to claim 10 , wherein the function to be evaluated is encoded such that a target polynomial is generated belonging to the finite field over the input which always divides the polynomial.

12. The system according to claim 11 , wherein the input and output matrix polynomials are randomly shifted by adding a product of the target polynomial with a random number to the input and output matrix polynomials.

13. The system according to claim 12 , wherein, when computing the outcome, a second polynomial is used with the input and the random number which is used for generating the evaluation key and the verification key.

14. The system according to claim 12 , wherein the proof is computed using the randomly shifted input and output matrix polynomials dependent from the random number.

15. The system according to claim 10 , wherein for verifying the validity of the proof, a correct structure of the arithmetic circuit is checked.

16. The system according to claim 12 , wherein for verifying the validity of the proof, it is checked whether the target polynomial divides the randomly shifted input and output matrix polynomials.

17. The system according to claim 12 , wherein for verifying the validity of the proof, linear combinations computed over the randomly shifted input and output matrix polynomials are checked if they are in their corresponding spans.

18. The system according to claim 10 , wherein the input is private.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2020
From: NEC LABORATORIES EUROPE GMBH
To: NEC CORPORATION
Reel/Frame 054751/0086 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 30, 2018
From: ALESIANI, FRANCESCO; GAJEK, SEBASTIAN
To: NEC EUROPE LTD.
Reel/Frame 046494/0370 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 30, 2018
From: NEC EUROPE LTD.
To: NEC LABORATORIES EUROPE GMBH
Reel/Frame 046494/0373 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 29, 2017
From: NEC EUROPE LTD.
To: NEC LABORATORIES EUROPE GMBH
Reel/Frame 044979/0698 →
Continuity (1)
Related Publication 20180083780A1 · Mar 22, 2018