IP Library Granted Patent US 12,634,124
Granted Patent B2
US 12,634,124 · App. 17/782,124 · Granted May 19, 2026

Identity-based public-key generation protocol

Inventors: Bassem Ammar (London, GB); Wei Zhang (London, GB); John Fletcher (London, GB)
Assignee: nChain Licensing AG
H04L9/0866H04L9/0825H04L9/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,634,124
App. No.
17/782,124
Granted
May 19, 2026
Kind
B2
Abstract

A computer-implemented method for generating an identity-based cryptographic key, the method comprising: obtaining a set of private key shares and a set of corresponding public key shares, wherein each private key share is generated based on the personal identifier, and wherein at least one of the set of private key shares is generated by a respective one of a set of key-generating parties; generating an identity-based private key based on each of the one or more private key shares; and generating a partial identity-based public key, wherein the partial identity-based public key is generated based on each of the set of corresponding public key shares; transmitting the partial identity-based public key to at least one of the set of key-generating parties for generating the identity-based public key; and/or generating the identity-based public key, wherein the identity-based public key comprises the personal identifier and the partial identity-based public key.

Claims (65)

1 . A computer-implemented method for generating an identity-based cryptographic key, the method being performed by a first party having a personal identifier, and comprising:

obtaining a set of private key shares and a set of corresponding public key shares, wherein each private key share is generated based on the personal identifier of the first party, and wherein at least one of the set of private key shares is generated by a respective one of a set of key-generating parties;

generating an identity-based private key based on each of the set of each of the one or more private key shares; and

generating a partial identity-based public key based on each of the set of corresponding public key shares, wherein the partial identity-based public key does not correspond to the identity-based private key; and

wherein the method also comprises;

transmitting the partial identity-based public key to at least one of the set of key-generating parties for generating the a complete identity-based public key, wherein the complete identity-based public key comprises the personal identifier and the partial identity-based public key; and/or

generating the complete identity-based public key based on the personal identifier and the partial identity-based public key, wherein the complete identity-based public key corresponds to the identity-based private key; and

wherein the method further comprises:

i) encrypting a first message using the complete identity-based public key to generate a first encrypted message; and

transmitting the first encrypted message to a second party, and/or generating a second blockchain transaction comprising an output that comprises the encrypted message; or

ii) obtaining a second encrypted message encrypted using the complete identity-based public key; and decrypting the second encrypted message using the private key to reveal a second message.

2 . The method of claim 1 , wherein a first output of a first blockchain transaction comprises the complete identity-based public key, the complete identity-based public key comprising the personal identifier and the partial identity-based public key, and wherein the method comprises obtaining the complete identity-based public key from the first blockchain transaction.

3 . The method of claim 2 , wherein said obtaining of the complete identity-based public key from the first blockchain transaction comprises:

obtaining a transaction identifier of the first blockchain transaction from at least one of the one or more key-generating parties; and

using the transaction identifier to obtain the first blockchain transaction from a blockchain in which the first blockchain transaction is recorded.

4 . The method of claim 1 , comprising:

obtaining the complete identity-based public key from at least one of the set of key-generating parties.

5 . The method of claim 1 , comprising, transmitting the personal identifier to at least one of the one or more key-generating parties.

6 . The method of claim 5 , wherein said transmitting of the personal identifier comprises:

generating a third blockchain transaction comprising an output that comprises the personal identifier; and

transmitting the third blockchain transaction to one or more nodes of the blockchain network for inclusion in the blockchain.

7 . The method of claim 2 , wherein the first party has a first public key, wherein the first blockchain transaction comprises a second output locked to the first public key of the first party, and wherein the method comprises:

generating a fourth blockchain transaction comprising an input that a) references the second output of the first blockchain transaction, and b) comprises a signature generated based on a private key corresponding to the first public key of the first party; and

transmitting the fourth blockchain transaction to one or more nodes of the blockchain network for inclusion in the blockchain.

8 . The method of claim 1 , wherein said transmitting of the partial identity-based public key to the at least one of the set of key-generating parties comprises:

generating a fifth blockchain transaction comprising an output that comprises the partial identity-based public key; and

transmitting the fifth blockchain transaction to one or more nodes of the blockchain network for inclusion in the blockchain.

9 . The method of claim 1 , wherein the identifier of the first party comprises one or more of: a name and/or address of the first party, an email address of the first party, a phone number, a passport number, a driving license number, a social media profile, a birth date, and a group member identifier.

10 . A computer-implemented method for generating an identity-based cryptographic key, wherein a first party has a personal identifier, and wherein the method is performed by a first key-generating party and comprises:

transmitting a private key share to the first party, wherein the private key share is generated based on the personal identifier of the first party and has a corresponding public key share;

obtaining a partial identity-based public key, based on the corresponding public key share, wherein the partial identity-based public key does not correspond to the identity-based private key;

generating and/or obtaining the complete identity-based public key, wherein the complete identity-based public key is generated based on the partial identity-based public key and the personal identifier, and wherein the complete identity-based public key corresponds to the identity-based private key; and

generating a first blockchain transaction comprising a first output that comprises the complete identity-based public key.

11 . The method of claim 10 , comprising, transmitting the first blockchain transaction to one or more nodes of a blockchain network for inclusion in a blockchain.

12 . The method of claim 10 , comprising, transmitting the first blockchain transaction to the first party.

13 . The method of claim 11 , comprising, obtaining the personal identifier from the first party.

14 . The method of claim 10 , wherein the first key-generating party has a first public key, and wherein the first blockchain transaction comprises a second output locked to the first public key of the first key-generating party.

15 . The method of claim 14 , comprising:

generating a fourth blockchain transaction comprising an input that a) references the second output of the first blockchain transaction, and b) comprises a signature generated based on a private key corresponding to the public key of the first key-generating party; and

transmitting the fourth blockchain transaction to one or more nodes of the blockchain network for inclusion in the blockchain.

16 . The method of claim 10 , wherein the first party has a first public key, and wherein the first blockchain transaction comprises a second output locked to the first public key of the first party.

17 . Computer equipment comprising:

memory comprising one or more memory units; and

processing apparatus comprising one or more processing units, wherein the memory stores code arranged to run on the processing apparatus, the code being configured so as when on the processing apparatus to perform a method of generating an identity-based cryptographic key, the method being performed by a first party having a personal identifier, and comprising:

obtaining a set of private key shares and a set of corresponding public key shares, wherein each private key share is generated based on the personal identifier of the first party, and wherein at least one of the set of private key shares is generated by a respective one of a set of key-generating parties;

generating an identity-based private key based on each of the one or more private key shares; and

generating a partial identity-based public key based on each of the set of corresponding public key shares, wherein the partial identity-based public key does not correspond to the identity-based private key; and

wherein the method also comprises;

transmitting the partial identity-based public key to at least one of the set of key-generating parties for generating the a complete identity-based public key, wherein the complete identity-based public key comprises the personal identifier and the partial identity-based public key; and/or

generating the complete identity-based public key based on the personal identifier and the partial identity-based public key, wherein the complete identity-based public key corresponds to the identity-based private key; and

wherein the method further comprises:

i) encrypting a first message using the complete identity-based public key to generate a first encrypted message; and

transmitting the first encrypted message to a second party, and/or generating a second blockchain transaction comprising an output that comprises the encrypted message; or

ii) obtaining a second encrypted message encrypted using the complete identity-based public key; and decrypting the second encrypted message using the private key to reveal a second message.

18 . A computer program embodied on computer-readable storage and configured so as, when run on computer equipment, to perform a method of generating an identity-based cryptographic key, the method being performed by a first party having a personal identifier, and comprising:

obtaining a set of private key shares and a set of corresponding public key shares, wherein each private key share is generated based on the personal identifier of the first party, and wherein at least one of the set of private key shares is generated by a respective one of a set of key-generating parties;

generating an identity-based private key based on each of the one or more private key shares; and

generating a partial identity-based public key based on each of the set of corresponding public key shares, wherein the partial identity-based public key does not correspond to the identity-based private key; and

wherein the method also comprises;

transmitting the partial identity-based public key to at least one of the set of key-generating parties for generating the a complete identity-based public key, wherein the complete identity-based public key comprises the personal identifier and the partial identity-based public key; and/or

generating the complete identity-based public key based on the personal identifier and the partial identity-based public key, wherein the complete identity-based public key corresponds to the identity-based private key; and

wherein the method further comprises:

i) encrypting a first message using the complete identity-based public key to generate a first encrypted message; and

transmitting the first encrypted message to a second party, and/or generating a second blockchain transaction comprising an output that comprises the encrypted message; or

ii) obtaining a second encrypted message encrypted using the complete identity-based public key; and decrypting the second encrypted message using the private key to reveal a second message.

Assignments (2)
CHANGE OF NAME Recorded Aug 8, 2022
From: NCHAIN HOLDINGS LIMITED
To: NCHAIN LICENSING AG
Reel/Frame 061118/0671 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2022
From: AMMAR, BASSEM; ZHANG, WEI; FLETCHER, JOHN
To: NCHAIN HOLDINGS LIMITED
Reel/Frame 060097/0956 →
Priority Claims (1)
GB 1917896 · Dec 6, 2019 · national
Continuity (1)
Related Publication 20230021047A1 · Jan 19, 2023
References Cited (27)
US 7590236B1 · Boneh et al. · 2009 [cited by applicant]
US 8320559B1 · Boneh · 2012 [cited by examiner]
US 11134379B2 · Shi · 2021 [cited by examiner]
US 20130191632A1 · Spector · 2013 [cited by applicant]
US 20170302450A1 · Ebrahimi · 2017 [cited by examiner]
US 20170330180A1 · Song et al. · 2017 [cited by applicant]
US 20190044734A1 · Lancashire · 2019 [cited by examiner]
US 20210391991A1 · Aschauer · 2021 [cited by examiner]
CN 110914850A · 2020 [cited by applicant]
EP 3721582A1 · 2020 [cited by examiner]
EP 3721582B1 · 2020 [cited by examiner]
GB 2583770A · 2020 [cited by applicant]
JP 2005500740A · 2005 [cited by applicant]
JP 2019507539A · 2019 [cited by applicant]
WO 2019021105A1 · 2019 [cited by applicant]
Yongming Xie, “Distributed Private-Key Generation Scheme with Self Certified identity”, 2011, IEEE, 501-508 (Year: 2011). [cited by examiner]
PCT/IB2020/060450 International Search Report and Written Opinion dated Mar. 19, 2021. [cited by applicant]
Yongming Xie et al: 11 Distributed Private-Key Generation Scheme with Self-Certified Identity11 , Trust, Security and Privacy in Computing and Communications (TRUSTCOM) , 2011 IEEE 10th International Conference On, IEEE… [cited by applicant]
Zhou Beini et al: “An Authentication Scheme Using Identity-based Encryption & Blockchain”, 2018 IEEE Symposium on Computers and Communications (ISCC), IEEE, Jun. 25, 2018 (Jun. 25, 2018), pp. 556-561, XP033448510, DOI: … [cited by applicant]
Aniket Kate et al: “Asynchronous Distributed Private-Key Generators for Identity-Based Cryptography”, IACR, International Association for Cryptologic Research, vol. 20100723:210612, Jul. 23, 2010 (Jul. 23, 2010), pp. 1-… [cited by applicant]
GB1917896.1 Combined Search and Examination Report dated Aug. 28, 2020. [cited by applicant]
Arunkumar, Saritha et al: Decentralised Certificateless Public-Key Infrastructure, Annual Fall Meeting of ITA, Ministry of Defense, Jan. 8, 2013, pp. 1, International Technology Alliance in Network and Information Scien… [cited by applicant]
Wikipedia contributors, ‘Key disclosure law’, Wikipedia, The Free Encyclopedia, Nov. 18, 2019, 03:39 UTC, <https://en.wikipedia.org/w/index.php?title=Key_disclosure_law&oldid=926699596>. [cited by applicant]
Tokenized, Issue, Manage and Trade Digital Tokens, https://tokenized.com, May 12, 2019. [cited by applicant]
Boneh, Dan et al, Identity-Based Encryption from the Weil Pairing, SIAM J. of Computing, 2003, pp. 586-615, United States. [cited by applicant]
M. Groves, Mikey-Sakke: Sakai-Kasahara Key Encryption in Multimedia Internet KEYing (MIKEY), Feb. 2012, pp. 1-21, Internet Engineering Task Force, Cheltenham, UK. [cited by applicant]
Zhou, B. et al; “An Authentication Scheme Using Identity-based Encryption & Blockchain,” 2018 IEEE Symposium on Computers and Communications (ISCC), pp. 556-561; IEEE. [cited by applicant]