US10903991B1 — Systems and methods for generating signatures (Part 2 of 2)
Document text
Research, not advice. Part of the Bitcoin research archive (October 2026). Claims labelled unverified, contested or fringe are reported, not endorsed; statuses of bills and rules are as of the date checked. Government, court and patent records are public domain; the research notes are CC BY 4.0.
private key, and decrypting and validating the encrypted message signing
generating each encrypted message signing key share by key share for the participant system ,
encrypting each message signing key share to a differ- generating a nonce seed , and
ent participant, wherein encrypting a key share to a generating a nonce by using the nonce seed and the
participant comprises encrypting the key share by using 50 validated and
at least the participant's encryption public key and the decrypted message signing key share for the participant
participant's authentication public key. system ; and
3. The method of claim 2 , securely providing the encrypted additional signing data
further comprising: selecting a participant group , shares to the message signing system ;
wherein generating each encrypted message signing key 55 with the message signing system , in response to receiving
share comprises encrypting each message signing key encrypted additional signing data shares from a thresh
share to a different participant included in the selected old number of participant systems : in a subsequent
participant group . broadcast round, securely providing to each of the
4. The method of claim 3 , wherein the message signing plurality of participant systems the message , the
system initiates the first broadcast round in response to 60 encrypted message signing key share encrypted to the
receiving a message signing request that identifies the mes- participant of the participant system , and each
sage . encrypted additional signing data share encrypted to the
5. The method of claim 4 , further comprising: with the participant;
message signing system , receiving from at least a threshold with each participant system for a second set of the
number of participants of the participant group, updated 65 message signing participants:
versions of the encrypted additional signing data shares that generating a partial signature by using the message , the
have been generated by a proactive secret sharing process . encrypted message signing key share encrypted to the par
US 10,903,991 B1
31 32
ticipant, and each encrypted additional signing data share 15. The method of claim 14 , further comprising : with the
encrypted to the participant, and secure key generation system : for each participant,
securely providing the partial signature to the message generating a shared symmetric key by using:
signing system ; and a private authentication key of the secure key generation
with the message signing system , in response to receiving 5 system ,
partial signatures from the threshold number of partici the participant's encryption public key,
pant systems, generating a full signature for the mes a private ephemeral encryption key of the secure key gen
sage by aggregating the received partial signatures. eration system, and
13. The method of claim 12 , the participant's authentication public key ; and
further comprising: 10
encrypting the participant's message signing key share
with the secure key generation system , securely providing with the generated shared symmetric key .
a key share secret sharing proof to the message signing
system ; and 16. The method of claim 15 , further comprising: with at
with the message signing system , in the first broadcast least a threshold number of participants , updating the
round, securely providing to each of a plurality of 15 proactiveencrypted secret
additional signing data shares by performing a
sharing process.
participant systems the key share secret sharing proof,
wherein decrypting and validating the encrypted message 17. The method of claim 15 ,
signing key share for a participant system of the first set further comprising: with each participant system in the
of message signing participants comprises: first broadcast round :
decrypting the encrypted message signing key share by 20 generating the shared symmetric key by using :
using at least the associated participant's encryption a public authentication key of the secure key generation
private key and the associated participant's authen- system ,
tication private key, and the encryption private key of the participant of the partici
validating the decrypted message signing key share by pant system ,
using the key share secret sharing proof; 25 a public ephemeral encryption key of the secure key gen
wherein generating encrypted additional signing data eration system , and
shares with a participant system of the first set of the authentication private key of the participant,
message signing participants further comprises:
splitting the additional signing data into a plurality of wherein the participant system uses the generated shared
symmetric key to decrypt the message signing key share of
additional signing
secret sharing proofdata shares
for the and generating
additional data ; and a signing 30 the participant associated with the participant system
generating each encrypted additional signing data share by further comprising: with each participant system in the
first broadcast round :
encrypting each additional signing data share to a different generating
participant, wherein encrypting an additional signing data a shared symmetric key between the participant
share to a participant comprises encrypting the additional 35 of the participant system and each other participant,
signing data share by using at least the participant's encryp wherein the shared symmetric key between the participant
tion public key and the participant's authentication public and another participant is generated by using:
key, the private authentication key of the participant,
wherein the participant system provides the signing secret the other participant's encryption public key,
sharing proof to the message signing system . 40 a private ephemeral encryption key of the participant, and
14. The method of claim 13 ,
further comprising: with the message signing system , in the other participant's authentication public key ; and
the subsequent broadcast round , securely providing to ing data the
wherein participant system encrypts the additional sign
each of the plurality of participant systems the key sponding sharedtosymmetric
share another participant by using the corre
share secret sharing proof, and each signing secret 45 further comprising with akey ;
participant system in the sub
sharing proof, sequent broadcast round :
wherein generating a partial signature with a participant generating the shared symmetric key for an encrypted addi
system in the subsequent broadcast round comprises:
decrypting the encrypted message signing key share by tional signing data share by using :
using at least the participant's encryption private key 50 a public authentication key of the sending participant that
and the participant's authentication private key; provided the encrypted additional signing data share to
validating the decrypted message signing key share by the message signing system ,
using the key share secret sharing proof; the participant's encryption private key,
for each encrypted additional signing data share, decrypt- a public ephemeral encryption key of the sending partici
ing the encrypted additional signing data share by using 55 pant, and
at least the participant's encryption private key and the the participant's authentication private key; and
participant's authentication private key, and validating therein the participant system in the subsequent broadcast
the additional signing data share by using the signing round decrypts the encrypted additional signing data share
secret sharing proof; with the generated shared symmetric key.
generating the partial signature by using the message and 60 18. The method of
the validated and decrypted message signing key share, randomly generated. claim 12 , wherein the nonce seed is
and each validated and decrypted additional signing
data share .