IP Library › Granted Patent US 12,034,865
Granted Patent B2
US 12,034,865 · App. 17/576,779 · Granted Jul 9, 2024

Secure dynamic threshold signature scheme employing trusted hardware

Inventor: Thomas Trevethan (London, GB)
Assignee: nChain Licensing AG
H04L9/3252H04L9/085H04L9/3239H04L9/3255H04L9/50H04L2209/127
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,034,865
App. No.
17/576,779
Granted
Jul 9, 2024
Kind
B2
Abstract

Embodiments of the invention provide enhanced security solutions which are enforced through the use of cryptographic techniques. It is suited for, but not limited to, use with blockchain technologies such as the Bitcoin blockchain. Methods and devices for generating an elliptic curve digital signature algorithm signature (r, w) are described. In one embodiment, a method includes: i) forming, by a node, a signing group with other nodes; ii) obtaining, by the node, based on a secure random number: a) a multiplicative inverse of the secure random number; and b) the first signature component, r, wherein the first signature component is determined based on the secure random number and an elliptic curve generator point; iii) determining, by the node, a partial signature based on a private secret share, the multiplicative inverse of the secure random number and the first signature component; iv) receiving, by the node, partial signatures from other nodes of the signing group; and v) generating, by the node, the second signature component, w, based on determined and received partial signatures.

Claims (50)

1. A computer-implemented security method comprising the step of:

generating an elliptic curve digital signature algorithm signature comprising a first signature component, r, and a second signature component, w, wherein generating comprises:

forming, by a node, a signing group with other nodes;

obtaining, by the node, based on a secure random number:

a) a multiplicative inverse of the secure random number; and

b) the first signature component, r, wherein the first signature component is determined based on the secure random number and an elliptic curve generator point, wherein obtaining comprises generating the multiplicative inverse and the first signature component and provisioning an enclave associated with a trusted execution environment of the node to generate the secure random number;

generating the secure random number using the enclave;

determining, by the enclave, a partial signature based on a private secret share, the multiplicative inverse of the secure random number and the first signature component, wherein the enclave is configured to provide an attestation to prove the partial signature is being generated correctly;

receiving, by the node, partial signatures from other nodes of the signing group;

generating, by the node, the second signature component, w, based on determined and received partial signatures, wherein the second signature component is generated based on a threshold signature scheme using a threshold number of received partial signatures; and

sending the multiplicative inverse to the other nodes.

2. The computer-implemented method according to claim 1 , wherein obtaining comprises receiving the multiplicative inverse and the first signature component from one of the other nodes.

3. The computer-implemented method according to claim 1 , further comprising, prior to forming the signing group, signalling an intention to participate in distributed signature generation.

4. The computer-implemented method according to claim 1 , wherein the partial signature is determined by performing Lagrangian interpolation.

5. The computer-implemented method according to claim 1 , wherein the second signature component is generated within an enclave associated with a trusted execution environment and wherein the method further includes, after generating the second signature component, sending the elliptic curve digital signature algorithm from the enclave to a host portion of the node.

6. The computer-implemented method according to claim 1 , further comprising adding the signature to a transaction and broadcasting the transaction to a blockchain network.

7. The computer-implemented method according to claim 1 , further comprising, prior to forming the signing group, obtaining the secret share by based on secret share data received from a plurality of existing members of the signing group.

8. The computer-implemented method according to claim 7 , wherein the secret share is determined within an enclave associated with a trusted execution environment of the node.

9. The computer-implemented method according to claim 1 , wherein the partial signature, v i , is determined as:

v i =k −1 rb i s i mod p,

where b i is a Lagrangian interpolation coefficient, k −1 is the multiplicative inverse of the secure random number, s i is the secret share, r is the first signature component, and p is an order.

10. A computer readable storage medium storing computer-executable instructions which, when executed, configure a processor to:

form, by a node, a signing group with other nodes;

obtain, by the node, based on a secure random number:

a) a multiplicative inverse of the secure random number; and

b) a first signature component, r, wherein the first signature component is determined based on the secure random number and an elliptic curve generator point, wherein obtaining comprises:

generating the multiplicative inverse and the first signature component and send the multiplicative inverse to the other nodes; and

provisioning an enclave associated with a trusted execution environment of the node to generate the secure random number;

generate the secure random number using the enclave;

determine, by the enclave, a partial signature based on a private secret share, the multiplicative inverse of the secure random number and the first signature component, wherein the enclave is configured to provide an attestation to prove the partial signature is being generated correctly;

receive, by the node, partial signatures from other nodes of the signing group;

generate, by the node, a second signature component, w, based on determined and

received partial signatures, wherein the second signature component is generated based on a threshold signature scheme using a threshold number of received partial signatures; and

generate an elliptic curve digital signature algorithm signature based on the first signature component, r, and the second signature component, w.

11. An electronic device comprising:

an interface device;

a processor coupled to the interface device; and

a memory coupled to the processor, the memory having stored thereon computer executable instructions that, when executed, cause the processor to:

generate an elliptic curve digital signature algorithm signature comprising a first signature component, r, and a second signature component, w, wherein generating comprises:

forming, by a node, a signing group with other nodes;

obtaining, by the node, based on a secure random number:

a) a multiplicative inverse of the secure random number;

b) the first signature component, r, wherein the first signature component is determined based on the secure random number and an elliptic curve generator point; and

wherein obtaining comprises generating the multiplicative inverse and the first signature component, and provisioning an enclave associated with a trusted execution environment of the node to generate the secure random number;

generating the secure random number using the enclave;

determining, by the enclave, a partial signature based on a private secret share, the multiplicative inverse of the secure random number and the first signature component, wherein the enclave is configured to provide an attestation to prove the partial signature is being generated correctly;

receiving, by the node, partial signatures from other nodes of the signing group;

generating, by the node, the second signature component, w, based on determined and received partial signatures, wherein the second signature component is generated based on a threshold signature scheme using a threshold number of received partial signatures; and

sending the multiplicative inverse to the other nodes.

12. The electronic device of claim 11 , wherein the processor includes a trusted execution environment and wherein the computer executable instructions are executed within the trusted execution environment.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 12, 2023
From: TREVETHAN, THOMAS
To: NCHAIN HOLDINGS LTD.
Reel/Frame 065535/0103 →
CHANGE OF NAME Recorded Nov 12, 2023
From: NCHAIN HOLDINGS LTD
To: NCHAIN LICENSING AG
Reel/Frame 065548/0852 →
Priority Claims (1)
GB 1707168 · May 5, 2017 · national
Continuity (2)
Continuation 16611201
Related Publication 20220247572A1 · Aug 4, 2022