IP Library Granted Patent US 12,401,513
Granted Patent B2
US 12,401,513 · App. 17/974,629 · Granted Aug 26, 2025

System and method for proving membership of subset from given set and linear operation therefor

Inventors: Emanuele Ragnoli (Dublin, IE); Zaira Pindado Tost (Barcelona, ES)
Assignee: QPQ Ltd.
H04L9/3221H04L9/3066H04L9/3093
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,401,513
App. No.
17/974,629
Granted
Aug 26, 2025
Kind
B2
Abstract

A method for providing a zero-knowledge membership proof is provided. The method comprises defining public parameters to be used for computing and verification of proof by a prover and a verifier, respectively. The method comprises computing, by the prover, a commitment to a given ordered set X using the public parameters, and sending it to the verifier. The method further comprises receiving, by the prover, a query from the verifier for proving membership of a subset S sampled from the given ordered set X. The method further comprises computing, by the prover, a proof of membership, including an inner product, commitments of polynomials defining the inner product and a proof of the inner product being correctly computed, and sending the proof of membership to the verifier. The method further comprises verifying, by the verifier, the proof of membership based on the defined public parameters.

Claims (51)

1. A method for providing a zero-knowledge membership proof, the method comprising:

defining, in a setup phase, public parameters to be used for computing and verification of proof by a prover and a verifier, respectively;

computing, by the prover, a commitment using the public parameters to a given ordered set X;

sending, by the prover, the commitment to the given ordered set X to the verifier;

receiving, by the prover, a query from the verifier for proving membership of a subset S sampled from the given ordered set X;

computing, by the prover, a proof of membership providing that elements in the subset S represented by a vector {right arrow over (s)} are present in the given ordered set X represented by a vector {right arrow over (x)}, with the vector {right arrow over (s)} and the vector {right arrow over (x)}being of same length and the vector {right arrow over (s)} containing two or more components of the vector {right arrow over (x)} that are selected in same position as in the vector {right arrow over (x)}, and 0 in non-selected positions, based, at least in part, on the defined public parameters;

sending, by the prover, the proof of membership to the verifier; and

verifying, by the verifier, the proof of membership based on the defined public parameters.

2. The method of claim 1 , wherein the prover, using the commitment, further claims to have computed a correct result for each of one or more linear operations performed over elements of the subset S.

3. The method of claim 2 , wherein the query, received by the prover, from the verifier, further comprises a request for value Y resultant of a given linear operation performed over elements of the subset S.

4. The method of claim 3 further comprising:

adding, by the prover, a matrix representative of the given linear operation to be performed over elements of the subset S to modify polynomials used to compute an inner product; and

checking, by the verifier, for the modified polynomials while verifying the inner product.

5. The method of claim 1 further comprising updating, by the prover, the commitment, using the public parameters, in case of addition of new elements to the given ordered set X.

6. The method of claim 1 , wherein the proof of membership is defined over an elliptic curve group.

7. The method of claim 1 , wherein the commitment is a Pedersen commitment.

8. A system for performing data analysis on private data by implementing a zero-knowledge membership proof, the system comprising:

a data provider device comprising a database configured to store private data therein;

a data owner device, acting as a prover, configured to access and process the private data from the database; and

a client device, acting as a verifier, configured to provide a query related to a group of elements of the private data for performing data analysis therefor,

wherein public parameters to be used for computing and verification of proof by the prover and the verifier, respectively, are defined in a setup phase and shared therewith,

wherein the prover is configured to:

compute a commitment using the public parameters to elements of the private data, defined as a given ordered set X, and

send the commitment to the given ordered set X to the verifier, wherein the verifier is configured to:

send the query, to the prover, for proving membership of the group of elements defined as a subset S sampled from the given ordered set X, wherein the prover is further configured to:

compute a proof of membership providing that the group of elements in the subset S represented by a vector {right arrow over (s)} are present in the given ordered set X represented by a vector {right arrow over (x)}, with the vector {right arrow over (s)} and the vector {right arrow over (x)} being of same length and the vector {right arrow over (s)} containing two or more components of the vector {right arrow over (x)} that are selected in same position as in the vector {right arrow over (x)}, and 0 in non-selected positions, based, at least in part, on the defined public parameters, and

send the proof of membership to the verifier, and wherein the verifier is further configured to:

verify the proof of membership based on the defined public parameters.

9. The system of claim 8 , wherein the prover, using the commitment, further claims to have computed a correct result for each of one or more linear operations performed over elements of the subset S.

10. The system of claim 9 , wherein the query, received by the prover, from the verifier, further comprises a request for value Y resultant of a given linear operation performed over elements of the subset S.

11. The system of claim 10 , wherein:

the prover is configured to add a matrix representative of the given linear operation to be performed over elements of the subset S to modify polynomials used to compute an inner product; and

the verifier is configured to check for the modified polynomials while verifying the inner product.

12. The system of claim 8 , wherein the prover is further configured to update the commitment, using the public parameters, in case of addition of new elements to the private data.

13. The system of claim 8 , wherein the proof of membership is defined over an elliptic curve group.

14. The system of claim 8 , wherein the commitment is a Pedersen commitment.

15. A system for performing identification of a customer by implementing a zero-knowledge membership proof, the system comprising:

a data owner device, acting as a prover, comprising a database to store identification data containing identities of a plurality of customers therein; and

a client device, acting as a verifier, configured to provide a query to confirm identities of one or more given customers, from the plurality of customers, from the identification data,

wherein public parameters to be used for computing and verification of proof by the prover and the verifier, respectively, are defined in a setup phase and shared therewith,

wherein the prover is configured to:

compute a commitment using the public parameters for the identities of the plurality of customers, defined as a given ordered set X, and

send the commitment to the given ordered set X to the verifier, wherein the verifier is configured to:

send the query, to the prover, for proving membership of identities of the one or more given customers defined as a subset S sampled from the given ordered set X, wherein the prover is further configured to:

compute a proof of membership providing that the identities of the one or more given customers defined in the subset S represented by a vector {right arrow over (s)} are present in the given ordered set X represented by a vector {right arrow over (x)}, with the vector {right arrow over (s)} and the vector {right arrow over (x)} being of same length and the vector {right arrow over (s)} containing two or more components of the vector {right arrow over (x)} that are selected in same position as in the vector {right arrow over (x)}, and 0 in non-selected positions, based, at least in part, on the defined public parameters, and

send the proof of membership to the verifier, and

wherein the verifier is further configured to:

verify the proof of membership based on the defined public parameters.

16. The system of claim 15 , wherein the prover is further configured to update the commitment, using the public parameters, in case of addition of identities of new customers to the identification data.

17. The system of claim 15 , wherein the proof of membership is defined over an elliptic curve group.

18. The system of claim 15 , wherein the commitment is a Pedersen commitment.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 27, 2022
From: RAGNOLI, EMANUELE; PINDADO TOST, ZAIRA
To: QPQ LTD.
Reel/Frame 061557/0330 →
Continuity (1)
Related Publication 20240154811A1 · May 9, 2024
References Cited (17)
US 11526622B1 · White · 2022 [cited by examiner]
US 20090300347A1 · Camenisch · 2009 [cited by examiner]
CN 113643029A · 2021 [cited by examiner]
EP 3926889A1 · 2021 [cited by examiner]
WO WO2015055765A1 · 2015 [cited by examiner]
WO WO2022144966A1 · 2022 [cited by examiner]
Yuen et al. “RingCT 3.0 Blockchain Confidential Transaction: Shorter Size and Stronger Security”, May 2019, IACR, International Association for Cryptography Research, URL: https://eprint.iacr.org/2019/508 (Year: 2019). [cited by examiner]
Feist, “Inner Product Arguments”, Jul. 27, 2021, URL: https://dankradfeist.de/ethereum/2021/07/27/inner-product-arguments.html (Year: 2021). [cited by examiner]
Campanelli, “Succinct Zero-Knowledge Batch Proofs for Set Accumulators”, 2021, URL: https://eprint.iacr.org/2021/1672.pdf (Year: 2021). [cited by examiner]
Catalano et al., Vector Commitments and their Applications, 2011, 37 pgs. [cited by applicant]
Papamanthou et al., Optimal Verifciation of Operations on Dynamic Sets, 2010, 20 pgs. [cited by applicant]
Merkle, Ralph C., A Digital Signature Based on a Conventional Encryption Function, 10 pgs. [cited by applicant]
Campanelli, et al., Linear-map Vector Commitments and their Practial Applications, 2022, 41 pgs. [cited by applicant]
Benarroch, et al., Zero-Knowledge Proofs for Set Membership: Efficient, Succinct, Modular, 2019, 68 pgs. [cited by applicant]
Kuszmaul, John, Verkle Trees, 2018, 12 pgs. [cited by applicant]
Bunz, et al., Bulletproofs: Short Proofs for Confidential Transactions and More, 2018, 45 pgs. [cited by applicant]
Tsz Hon Yuen et al: “RingCT 3.0 for Block chain Confidential Transaction: Shorter Size and Stronger Security”,. IACR, International Association for Cryptologic Research, vol. 20190520:125407 May 20, 2019 (May 20, 2019),… [cited by applicant]
Cited By (1)
US 12,701,008