IP Library Granted Patent US 11,683,164
Granted Patent B2
US 11,683,164 · App. 16/772,132 · Granted Jun 20, 2023

System and method for securely sharing cryptographic material

Inventors: Alexandra Covaci (London, GB); Simone Madeo (London, GB); Patrick Motylinski (London, GB); Stephane Vincent (Luxembourg, LU)
Assignee: nChain Licensing AG
H04L9/085G06F7/725G06F17/17H04L9/14H04L9/3066H04L9/3093H04L9/3218H04L9/0841H04L9/3236H04L9/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 11,683,164
App. No.
16/772,132
Granted
Jun 20, 2023
Kind
B2
Abstract

Systems and methods described herein relate to techniques in which multiple parties each generate and exchange quantities that are based on a shared secret (e.g., powers of the shared secret) without exposing the shared secret. According to a protocol, two or more parties may exchange sets of elliptic curve points generated over polynomials that can be used, by each of the two or more parties, to determine a power of a shared secret. The protocol may be utilised as part of determining parameters for a smart contract that is broadcast to a blockchain network (e.g., Bitcoin). Based on the protocol, an additional party (e.g., a third party different from the two or more parties) may perform a computational task such as execution of the smart contract.

Claims (37)

1. A computer-implemented method comprising:

determining, at a participant of a plurality of participants, a function usable to map finite field elements, wherein the function is provided to the plurality of participants;

generating, by each participant of the plurality of participants and based on the function, polynomials evaluated in a set of points;

distributing the polynomials, by each participant to each other participant of the plurality of participants, to determine a sum of the polynomials distributed to the plurality of participants;

determining a master polynomial from the sum of the polynomials distributed to the plurality of participants, wherein the master polynomial corresponds to a power of a secret; and

collectively generating, among the plurality of participants and based on the secret, a blockchain transaction.

2. The computer-implemented method according to claim 1 , wherein the set of points is a set of elliptic curve points.

3. The computer-implemented method according to claim 1 , wherein determining the master polynomial from the sum of the polynomials is based on a Lagrange interpolation.

4. The computer-implemented method according to claim 1 , further comprising determining, based at least in part on the power of the secret, a common reference string that is determinable by the plurality of participants.

5. The computer-implemented method according to claim 1 , further comprising receiving values of the polynomials from each participant of the plurality of participants, the values as evaluated in the set of points by each participant.

6. The computer-implemented method according to claim 5 , wherein off-chain communications are utilised in distribution of the values of the polynomials to each of the other participants.

7. The computer-implemented method according to claim 1 , wherein a result of the function as evaluated serves as a coefficient or exponent of a generator of a group.

8. The computer-implemented method according to claim 1 , wherein the plurality of participants is exactly two participants.

9. The computer-implemented method according to claim 1 , wherein the secret is determined based on the master polynomial evaluated at a particular point.

10. The computer-implemented method according to claim 9 , wherein the particular point is an intersection point.

11. The computer-implemented method according to claim 10 , wherein the set of points excludes the intersection point.

12. The computer-implemented method according to claim 1 , wherein the polynomials evaluated in the set of points are of at least order 2.

13. The computer-implemented method according to claim 1 , wherein each point of the set of points is a different point.

14. A system, comprising:

a processor; and

memory including executable instructions that, as a result of execution by the processor, cause the system to:

determine, at a participant of a plurality of participants, a function usable to map finite field elements, wherein the function is provided to the plurality of participants;

generate, by each participant of the plurality of participants and based on the function, polynomials evaluated in a set of points;

distribute the polynomials, by each participant to each other participant of the plurality of participants, to determine a sum of the polynomials distributed to the plurality of participants;

determine a master polynomial from the sum of the polynomials distributed to the plurality of participants, wherein the master polynomial corresponds to a power of a secret; and

collectively generate, among the plurality of participants and based on the secret, a blockchain transaction.

15. The system according to claim 14 , wherein the set of points is a set of elliptic curve points.

16. The system according to claim 14 , wherein determining the master polynomial from the sum of the polynomials is based on a Lagrange interpolation.

17. The system according to claim 14 , wherein the executable instructions, as a result of execution by the processor, further cause the system to determine, based at least in part on the power of the secret, a common reference string that is determinable by the plurality of participants.

18. A non-transitory computer-readable storage medium having stored thereon executable instructions that, as a result of being executed by a processor of a computer system, cause the computer system to at least:

determine, at a participant of a plurality of participants, a function usable to map finite field elements, wherein the function is provided to the plurality of participants;

generate, by each participant of the plurality of participants and based on the function, polynomials evaluated in a set of points;

distribute the polynomials, by each participant to each other participant of the plurality of participants, to determine a sum of the polynomials distributed to the plurality of participants;

determine a master polynomial from the sum of the polynomials distributed to the plurality of participants, wherein the master polynomial corresponds to a power of a secret; and

collectively generate, among the plurality of participants and based on the secret, a blockchain transaction.

19. The non-transitory computer-readable storage medium according to claim 18 , wherein the set of points is a set of elliptic curve points.

20. The non-transitory computer-readable storage medium according to claim 18 , wherein determining the master polynomial from the sum of the polynomials is based on a Lagrange interpolation.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2022
From: COVACI, ALEXANDRA; MADEO, SIMONE; MOTYLINSKI, PATRICK; VINCENT, STEPHANE
To: NCHAIN HOLDINGS LTD.
Reel/Frame 060198/0709 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2022
From: COVACI, ALEXANDRA; MADEO, SIMONE; MOTYLINSKI, PATRICK; VINCENT, STEPHANE
To: NCHAIN HOLDINGS LTD.
Reel/Frame 060198/0763 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2022
From: COVACI, ALEXANDRA; MADEO, SIMONE; MOTYLINSKI, PATRICK; VINCENT, STEPHANE
To: NCHAIN HOLDINGS LTD.
Reel/Frame 060385/0285 →
CHANGE OF NAME Recorded Jun 14, 2022
From: NCHAIN HOLDINGS LTD
To: NCHAIN LICENSING AG
Reel/Frame 060385/0483 →
Priority Claims (3)
GB 1720768 · Dec 13, 2017 · national
GB 1813770 · Aug 23, 2018 · national
GB 1813772 · Aug 23, 2018 · national
Continuity (1)
Related Publication 20210075597A1 · Mar 11, 2021
Cited By (1)
US 12,526,165