IP Library Granted Patent US 12,676,754
Granted Patent B2
US 12,676,754 · App. 18/232,795 · Granted Jul 7, 2026

Key ceremony in multi-party computation

Inventors: Vincent Kobel (Geneva, CH); Alexandre Karlov (Crans, CH); Kevin Truckenmiller (Arden Hills, MN); Jakob Pagter (Aarhus, DK)
Assignee: Blockdaemon Inc.
H04L9/3247H04L9/008H04L9/0894H04L2209/46
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,676,754
App. No.
18/232,795
Filed
Aug 10, 2023
Granted
Jul 7, 2026
Kind
B2
Art Unit
2492
USPC
713/176
Abstract

A system for performing a multi-party computation (MPC) operation may include an MPC node executed in a secure enclave. The MPC node includes executable instructions injected into the secure enclave to create an execution environment. The secure enclave performs an attestation check on the execution environment, generates a result of the attestation check, and cause the secure enclave to create a cryptographic signature on the result of the attestation check. The system may also include an attestation node in communication with the secure enclave. The attestation node verifies the cryptographic signature on the result of the attestation check and cause a decryption of an encrypted private cryptographic key shard to generate a decrypted private cryptographic key shard. The decrypted cryptographic key shard is used by the MPC node to perform part of the MPC operation.

Claims (47)

1 . A system for performing a multi-party computation (MPC) operation, the system comprising:

an MPC node comprising memory and one or more processors, the MPC node executed in a secure enclave, the MPC node comprising executable instructions injected into the secure enclave to create an execution environment, wherein the executable instructions, when executed by the one or more processors of the secure enclave, cause the one or more processors to:

perform an attestation check on the execution environment that relies on a private cryptographic key shard to carry out an MPC operation, the attestation check comprises checking state information of the execution environment to attest that the secure enclave has not been tampered;

generate a result of the attestation check; and

cause the secure enclave to create a cryptographic signature on the result of the attestation check; and

an attestation node in communication with the secure enclave, the attestation node configured to:

verify the cryptographic signature on the result of the attestation check to determine that the secure enclave has not been tampered;

responsive to verifying that the secure enclave has not been tampered, cause a decryption of an encrypted private cryptographic key shard to generate a decrypted private cryptographic key shard, wherein the decrypted cryptographic key shard is used by the MPC node to perform the MPC operation.

2 . The system of claim 1 , wherein the executable instructions are part of a bootstrapping package to inject an operating system image into the secure enclave to create the execution environment.

3 . The system of claim 2 , wherein the bootstrapping package further cause the one or more processors of the secure enclave to fetch one or more configuration parameters for the MPC node to create the execution environment.

4 . The system of claim 1 , wherein the memory of the secure enclave is a non-persistent storage that erases the decrypted cryptographic key shard in the memory after the MPC node is terminated.

5 . The system of claim 1 , wherein the attestation check comprises:

generating a quote comprising the state information of the execution environment of the secure enclave; and

verifying that one or more register counter values in the quote match one or more expected values.

6 . The system of claim 1 , wherein the secure enclave is associated with a secure enclave private key, and the cryptographic signature is generated by the secure enclave signing the state information of the execution environment using the secure enclave private key.

7 . The system of claim 1 , wherein the attestation node is in communication with the secure enclave through a secure channel that is proof against man-in-the-middle attacks.

8 . The system of claim 1 , wherein the decryption of the encrypted private cryptographic key shard comprises:

decrypt, responsive to the cryptographic signature being verified, an encryptor key file;

use the encryptor key file to decrypt one or more configuration data for the MPC node; and

use the encryptor key file to decrypt the encrypted private cryptographic key shard.

9 . The system of claim 1 , wherein the encrypted private cryptographic key shard is stored in a persistent storage outside of the secure enclave, and the decryption of the encrypted private cryptographic key shard comprises:

fetching, by the attestation node, the encrypted private cryptographic key shard from the persistent storage;

decrypting the encrypted private cryptographic key shard;

encrypting a key shard using an enclave public key; and

transmitting the encrypted key shard to the secure enclave that decrypts the key shard using an enclave private key.

10 . The system of claim 1 , wherein the MPC node is a first MPC node, the secure enclave is a first secure enclave, and the decrypted cryptographic key shard is a first decrypted cryptographic key shard, wherein the system further comprises a second MPC node executed in a second secure enclave and the second MPC node is associated with a second decrypted cryptographic key shard different from the first decrypted cryptographic key shard, and wherein the first MPC node and the second node jointly perform the multi-party computation operation using respective decrypted cryptographic key shards.

11 . The system of claim 1 , wherein the cryptographic signature is time bound to a valid period and the attestation check is performed periodically.

12 . The system of claim 1 , wherein the decrypted private cryptographic key shard is a shard of a private cryptographic key that has a public cryptographic key, and the multi-party computation operation comprises a blockchain operation associated with a blockchain address corresponding to the public cryptographic key.

13 . A computer-implemented method, comprising:

injecting executable instructions associated with a multi-party computation (MPC) node into a secure enclave to create an execution environment of the MPC node in the secure enclave;

performing an attestation check on the execution environment that relies on a private cryptographic key shard to carry out an MPC operation, the attestation check comprises checking state information of the execution environment to attest that the secure enclave has not been tampered;

generating a result of the attestation check;

causing the secure enclave to create a cryptographic signature on the result of the attestation check;

verifying the cryptographic signature on the result of the attestation check to determine that the secure enclave has not been tampered; and

responsive to verifying that the secure enclave has not been tampered, causing a decryption of an encrypted private cryptographic key shard to generate a decrypted private cryptographic key shard, wherein the decrypted cryptographic key shard is used by the MPC node to perform an MPC operation.

14 . The computer-implemented method of claim 13 , wherein the executable instructions are part of a bootstrapping package to inject an operating system image into the secure enclave to create the execution environment.

15 . The computer-implemented method of claim 14 , wherein the bootstrapping package further causes the secure enclave to fetch one or more configuration parameters for the MPC node to create the execution environment.

16 . The computer-implemented method of claim 13 , wherein memory of the secure enclave is a non-persistent storage that erases the decrypted cryptographic key shard in the memory after the MPC node is terminated.

17 . The computer-implemented method of claim 13 , wherein the attestation check comprises:

generating a quote comprising the state information of the execution environment of the secure enclave; and

verifying that one or more register counter values in the quote match one or more expected values.

18 . The computer-implemented method of claim 13 , wherein the secure enclave is associated with a secure enclave private key, and the cryptographic signature is generated by the secure enclave signing the state information of the execution environment using the secure enclave private key.

19 . The computer-implemented method of claim 13 , wherein the attestation node is in communication with the secure enclave through a secure channel that is proof against man-in-the-middle attacks.

20 . The computer-implemented method of claim 13 , wherein the decryption of the encrypted private cryptographic key shard comprises:

decrypting, responsive to the cryptographic signature being verified, an encryptor key file;

using the encryptor key file to decrypt one or more configuration data for the MPC node; and

using the encryptor key file to decrypt the encrypted private cryptographic key shard.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE STATE OF INCORPORATION FROM "CALIFORNIA" TO --DELAWARE--, AND TO CORRECT THE RECEIVING PARTY ADDRESS FROM "6060 CENTER DRIVE, FLOOR 10, LOS ANGELES, CALIFORNIA 90045" TO --11400 WEST OLYMPIC BLVD, SUITE 200, LOS ANGELES, CALIFORNIA 90064--. PREVIOUSLY RECORDED ON REEL 65096 FRAME 874. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 15, 2024
From: KOBEL, VINCENT; KARLOV, ALEXANDRE; TRUCKENMILLER, KEVIN; PAGTER, JAKOB
To: BLOCKDAEMON INC.
Reel/Frame 067420/0253 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 2, 2023
From: KOBEL, VINCENT; KARLOV, ALEXANDRE; TRUCKENMILLER, KEVIN; PAGTER, JAKOB
To: BLOCKDAEMON INC.
Reel/Frame 065096/0874 →
Continuity (3)
Provisional Application 63467881 · May 19, 2023
Provisional Application 63463855 · May 3, 2023
Related Publication 20240372731A1 · Nov 7, 2024
References Cited (89)
US 5315658A · Micali · 1994 [cited by applicant]
US 5787175A · Carter · 1998 [cited by applicant]
US 5862346A · Kley et al. · 1999 [cited by applicant]
US 5940507A · Cane et al. · 1999 [cited by applicant]
US 6026163A · Micali · 2000 [cited by applicant]
US 6049613A · Jakobsson · 2000 [cited by applicant]
US 6315658B1 · Weber · 2001 [cited by applicant]
US 6587946B1 · Jakobsson · 2003 [cited by applicant]
US 6687822B1 · Jakobsson · 2004 [cited by applicant]
US 7111122B2 · Noro et al. · 2006 [cited by applicant]
US 7139917B2 · Jablon · 2006 [cited by applicant]
US 7178021B1 · Hanna et al. · 2007 [cited by applicant]
US 7181011B2 · Trifonov · 2007 [cited by applicant]
US 7181017B1 · Nagel et al. · 2007 [cited by applicant]
US 7509492B2 · Boyen et al. · 2009 [cited by applicant]
US 7711122B2 · Allen et al. · 2010 [cited by applicant]
US 7792300B1 · Caronni · 2010 [cited by applicant]
US 8094810B2 · Hohenberger et al. · 2012 [cited by applicant]
US 8132003B2 · Durham · 2012 [cited by examiner]
US 8316237B1 · Felsher et al. · 2012 [cited by applicant]
US 8353015B2 · Carpenter et al. · 2013 [cited by applicant]
US 8437474B2 · Zheng et al. · 2013 [cited by applicant]
US 8478996B2 · Banerjee et al. · 2013 [cited by applicant]
US 8515058B1 · Gentry · 2013 [cited by applicant]
US 8588425B1 · Harwood et al. · 2013 [cited by applicant]
US 8873754B2 · Xu et al. · 2014 [cited by applicant]
US 8904181B1 · Felsher et al. · 2014 [cited by applicant]
US 9037870B1 · Zheng et al. · 2015 [cited by applicant]
US 9049023B2 · Green · 2015 [cited by applicant]
US 9158933B2 · Banks et al. · 2015 [cited by applicant]
US 9397983B2 · Moffat · 2016 [cited by applicant]
US 9419951B1 · Felsher et al. · 2016 [cited by applicant]
US 9635001B2 · Kaseda et al. · 2017 [cited by applicant]
US 10187347B2 · Moffat · 2019 [cited by applicant]
US 10587563B2 · Moffat · 2020 [cited by applicant]
US 10803194B2 · Damgård et al. · 2020 [cited by applicant]
US 20020199110A1 · Kean · 2002 [cited by applicant]
US 20030079120A1 · Hearn et al. · 2003 [cited by applicant]
US 20040086124A1 · Sasaki · 2004 [cited by applicant]
US 20050172154A1 · Short et al. · 2005 [cited by applicant]
US 20070033393A1 · Ganesan · 2007 [cited by examiner]
US 20070033397A1 · Phillips, II et al. · 2007 [cited by applicant]
US 20080059787A1 · Hohenberger et al. · 2008 [cited by applicant]
US 20080310623A1 · Phillips et al. · 2008 [cited by applicant]
US 20110058673A1 · Zheng et al. · 2011 [cited by applicant]
US 20110154031A1 · Banerjee et al. · 2011 [cited by applicant]
US 20110154501A1 · Banginwar · 2011 [cited by examiner]
US 20110246774A1 · Phillips et al. · 2011 [cited by applicant]
US 20120328105A1 · Mukkara et al. · 2012 [cited by applicant]
US 20120331283A1 · Chandran et al. · 2012 [cited by applicant]
US 20130007464A1 · Madden · 2013 [cited by applicant]
US 20130031366A1 · Simske · 2013 [cited by examiner]
US 20130079120A1 · Walker et al. · 2013 [cited by applicant]
US 20130159701A1 · Phillips et al. · 2013 [cited by applicant]
US 20140006773A1 · Chazalet et al. · 2014 [cited by applicant]
US 20150067330A1 · Khan et al. · 2015 [cited by applicant]
US 20150082028A1 · Phillips et al. · 2015 [cited by applicant]
US 20150169892A1 · Nord et al. · 2015 [cited by applicant]
US 20150215120A1 · Bursell · 2015 [cited by applicant]
US 20160021109A1 · Jueneman et al. · 2016 [cited by applicant]
US 20160119292A1 · Kaseda et al. · 2016 [cited by applicant]
US 20160253515A1 · Damgård et al. · 2016 [cited by applicant]
US 20170289197A1 · Mandyam · 2017 [cited by examiner]
US 20170317997A1 · Smith · 2017 [cited by examiner]
US 20180241572A1 · Miele · 2018 [cited by examiner]
US 20180287802A1 · Brickell · 2018 [cited by examiner]
US 20200014546A1 · Karame et al. · 2020 [cited by applicant]
US 20210036841A1 · Craige et al. · 2021 [cited by applicant]
US 20210097528A1 · Wang · 2021 [cited by applicant]
US 20210224797A1 · Berengoltz et al. · 2021 [cited by applicant]
US 20210374234A1 · Bursell · 2021 [cited by examiner]
US 20210406386A1 · Ortiz et al. · 2021 [cited by applicant]
US 20220038442A1 · Lev et al. · 2022 [cited by applicant]
US 20220286291A1 · Guabtni · 2022 [cited by examiner]
US 20220327530A1 · Pagter et al. · 2022 [cited by applicant]
US 20230239149A1 · Liu et al. · 2023 [cited by applicant]
US 20230246822A1 · Everspaugh et al. · 2023 [cited by applicant]
US 20230370263A1 · Velagapalli · 2023 [cited by examiner]
US 20240144232A1 · White · 2024 [cited by examiner]
US 20240422153A1 · Li · 2024 [cited by examiner]
US 20250039001A1 · Smeets · 2025 [cited by examiner]
US 20250219828A1 · Augustyn · 2025 [cited by examiner]
EP 2503480A1 · 2012 [cited by applicant]
WO WO2022125847A1 · 2022 [cited by applicant]
WO 2025098706A1 · 2025 [cited by applicant]
Wu, X., et al., “Poster: a certificateless proxy re-encryption scheme for cloud-based data sharing,” Proceedings of the 18th ACM conference on computer and communications security, Oct. 17, 2011, pp. 869-872. [cited by applicant]
Alansari, S., “A Blockchain-based Approach for Secure, Transparent and Accountable Personal Data Sharing,” Doctoral Dissertation, University of Southampton, Aug. 2, 2020, pp. 1-218. [cited by applicant]
PCT International Search Report and Written Opinion, PCT Application No. PCT/US2024/026813, Sep. 23, 2024, 20 pages. [cited by applicant]
PCT Invitation to Pay Additional Fees, PCT Application No. PCT/US2024/026813, Jul. 30, 2024, 17 pages. [cited by applicant]