IP Library › Granted Patent US 12,580,896
Granted Patent B2
US 12,580,896 · App. 18/762,118 · Granted Mar 17, 2026

Method and system for private identity verification

Inventors: Arash Afshar (Calgary, CA); Aram Jivanyan (Yerevan, AM)
Assignee: Polymath Inc.
H04L63/0421
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,580,896
App. No.
18/762,118
Granted
Mar 17, 2026
Kind
B2
Abstract

Methods, systems, and techniques for private identity verification involve obtaining a cryptographically secure commitment that is generated using a first user identifier and a private user identifier associated with the first user identifier; receiving, from an identity verification system, initial zero knowledge proof messages comprising the commitment; sending, to the identity verification system, a set of cryptographically secure known identifier commitments generated using a set of private user identifiers; receiving, from the identity verification system: (i) a zero knowledge proof response generated using the zero knowledge proof challenge; and (ii) proof that the private user identifier used in the initial zero knowledge proof messages comprises part of the set of private user identifiers; and verifying that the private user identifier used in the initial zero knowledge proof messages comprises part of the set of private user identifiers.

Claims (60)

1 . A method comprising:

receiving, by an identity verification system, initial identity information of a first user and a user identifier associated with the first user from a user and a private identifier that is independently generated from a service provider system;

generating a cryptographically secure blockchain event (first event) that is generated with respective private identifier and the user identifier with a one-way function;

transmitting, from the identity verification system to the service provider system, initial zero-knowledge proof messages based on the first event;

receiving, by the identity verification system from the service provider system, the private identifier and a zero-knowledge proof challenge based on the private identifier; and

transmitting, from the identity verification system:

a zero-knowledge proof response generated using the zero-knowledge proof challenge; and

proof that the private identifier used in the initial zero-knowledge proof messages is included in the first event.

2 . The method of claim 1 , further comprising:

receiving the zero-knowledge proof challenge for the first event to, by the identity verification system, before transmitting the zero-knowledge proof response.

3 . The method of claim 1 , wherein the first event further comprises a first public user identifier that identifies a wallet address of the first user stored on a blockchain.

4 . The method of claim 3 , wherein obtaining the first event further comprises retrieving a commitment from the blockchain.

5 . The method of claim 4 , further comprising:

obtaining a security parameter specifying a size of the private identifier;

padding the private identifier and other private identifiers such that each of a set of private identifiers has a size of the security parameter;

shuffling the padded private identifiers; and

generating a first private identifier from the shuffled and padded private identifiers.

6 . The method of claim 3 , wherein the initial zero-knowledge proof messages include a hash of the first public user identifier and the private identifier concatenated together.

7 . A system comprising:

a processor;

a network interface communicatively coupled to the processor; and

non-volatile storage communicatively coupled to the processor and having stored thereon computer program code that is executable by the processor and that,

when executed by the processor, causes the processor to perform instructions comprising:

receiving, by an identity verification system, initial identity information of a first user and a user identifier associated with the first user from a user and a private identifier that is independently generated from a service provider system;

generating a cryptographically secure blockchain event (first event) that is generated with respective private identifier and the user identifier with a one-way function;

transmitting, from the identity verification system to the service provider system, initial zero-knowledge proof messages based on the first event;

receiving, by the identity verification system from the service provider system, the private identifier and a zero-knowledge proof challenge based on the private identifier; and

transmitting, from the identity verification system:

a zero-knowledge proof response generated using the zero-knowledge proof challenge; and

proof that the private identifier used in the initial zero-knowledge proof messages is included in the first event.

8 . The system of claim 7 , the instructions further comprising:

receiving the zero-knowledge proof challenge for the first event to, by the identity verification system, before transmitting the zero-knowledge proof response.

9 . The system of claim 7 , wherein the first event further comprises a first public user identifier that identifies a wallet address of the first user stored on a blockchain.

10 . The system of claim 9 , wherein obtaining the first event further comprises retrieving a commitment from the blockchain.

11 . The system of claim 10 , the instructions further comprising:

obtaining a security parameter specifying a size of the private identifier;

padding the private identifier and other private identifiers such that each of a set of private identifiers has a size of the security parameter;

shuffling the padded private identifiers; and

generating a first private identifier from the shuffled and padded private identifiers.

12 . The system of claim 9 , wherein the initial zero- knowledge proof messages include a hash of the first public user identifier and the private identifier concatenated together.

13 . A non-transitory computer readable medium having stored thereon computer program code that is executable by a processor and that, when executed by the processor, causes the processor to perform instructions comprising:

receiving, by an identity verification system, initial identity information of a first user and a user identifier associated with the first user from a user and a private identifier that is independently generated from a service provider system;

generating a cryptographically secure blockchain event (first event) that is generated with respective private identifier and the user identifier with a one-way function;

transmitting, from the identity verification system to the service provider system, initial zero-knowledge proof messages based on the first event;

receiving, by the identity verification system from the service provider system, the private identifier and a zero-knowledge proof challenge based on the private identifier; and

transmitting, from the identity verification system:

a zero-knowledge proof response generated using the zero-knowledge proof challenge; and

proof that the private identifier used in the initial zero-knowledge proof messages is included in the first event.

14 . The non-transitory computer readable medium of claim 13 , wherein the first event further comprises a first public user identifier that identifies a wallet address of the first user stored on a blockchain.

15 . The non-transitory computer readable medium of claim 14 , wherein obtaining the first event further comprises retrieving a commitment from the blockchain.

16 . The non-transitory computer readable medium of claim 15 , further comprising:

obtaining a security parameter specifying a size of the private identifier;

padding the private identifier and other private identifiers such that each of a set of private identifiers has a size of the security parameter;

shuffling the padded private identifiers; and

generating a first private identifier from the shuffled and padded private identifiers.

17 . The non-transitory computer readable medium of claim 14 , wherein the initial zero-knowledge proof messages include a hash of the public user identifier and the first private identifier concatenated together.

18 . The non-transitory computer readable medium of claim 13 , wherein the instructions further comprise:

sending the zero-knowledge proof challenge for the first event to the identity verification system before receiving the zero-knowledge proof response.

19 . The non-transitory computer readable medium of claim 13 , wherein the instructions further comprise:

determining whether the first user belongs to a class of users associated with a plurality of cryptographically secure blockchain events based including the first event on the zero-knowledge proof response.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 2, 2024
From: AFSHAR, ARASH; JIVANYAN, ARAM
To: POLYMATH INC.
Reel/Frame 067899/0245 →
Continuity (3)
Continuation 18050917 · Oct 28, 2022
Continuation 17226663 · Apr 9, 2021
Related Publication 20250007891A1 · Jan 2, 2025
References Cited (17)
US 11489819B2 · Afshar · 2022 [cited by examiner]
US 20050289083A1 · Ngai · 2005 [cited by examiner]
US 20110010720A1 · Smith · 2011 [cited by examiner]
US 20120089494A1 · Danezis · 2012 [cited by examiner]
US 20180316653A1 · Kanza · 2018 [cited by examiner]
US 20190378119A1 · Hyuga · 2019 [cited by examiner]
WO WO2016105728A1 · 2016 [cited by examiner]
WO WO2021257664A1 · 2021 [cited by examiner]
Karanjai et al., “Privacy preserving event based transaction system in a decentralized environment”, Middleware '21: Proceedings of the 22nd International Middleware Conference, pp. 286-297 (Year: 2021). [cited by examiner]
Sun et al., “A Survey on Zero-Knowledge Proof in Blockchain,” in IEEE Network, vol. 35, No. 4, pp. 198-205, Jul./Aug. 2021. [cited by examiner]
Dunphy et al., “A First Look at Identity Management Schemes on the Blockchain”, IEEE Security & Privacy, vol. 16, Issue: 4, Jul./Aug. 2018. [cited by applicant]
Xu et al., “An Identity Management and Authentication Scheme Based on Redactable Blockchain or Mobile Networks”, IEEE Transactions on Vehicular Technology, vol. 69, No. 6, Jun. 2020. [cited by applicant]
Bangerter, Endre , et al., “Efficient Proofs of Knowledge of Discrete Logarithms and Representations in Groups with Hidden Order”, Department of Computer Science, ETH Zurich, CH-8092 Zurich, Switzerland, [email protected]… [cited by applicant]
Camenisch, Jan , et al., “Proof Systems for General Statements about Discrete Logarithms”, Technical Report No. 260, Dept. of Computer Science, ETH Zurich, ftp://ftp.inf.ethz.ch/pub/publications/tech-reports/, Mar. 1997… [cited by applicant]
Hao, F. , “Schnorr NIZK Proof: Non-interactive Zero Knowledge Proof for Discrete Logarithm”, Newcastle University (UK), Internet Engineering Task Force, Jan. 26, 2016, 12 pages., Jan. 26, 2016, 12 pages. [cited by applicant]
Jayaraman, Bargav , et al., “Decentralized Certificate Authorities”, University of Virginia, https://oblivc.org/dca, Oct. 10, 2017, 12 pages., Oct. 10, 2017, 12 pages. [cited by applicant]
Pinkas, Benny , et al., “Phasing: Private Set Intersection using Permutation-based Hashing”, 24th Usenix Security Symposium, Washington, D.C., Aug. 12-14, 2015, pp. 515-530., pp. 515-530. [cited by applicant]