Intro

In a threshold signature scheme, a key is split into shares and a parameter is defined such that an adversary that compromises or fewer shares is unable to generate a signature and learns no information about the key. On the other hand, in a threshold optimal scheme, shares can be used to jointly issue a signature without ever reconstructing the key.

Overview

A standard way to identify malicious players is to require each player to prove in zero-knowledge that he is performing the protocol correctly, though alternative approaches exist.

Our key observation however is that if the abort happens during the preprocessing stage then the full signature has not been revealed yet (and indeed the message being signed may not even be known at this point). Therefore it is safe for the players to reveal the random choices they made during the protocol so far (that includes β€œopening up” any encryption, etc.) so that their behavior can be verified, and bad players identified.

Moreover, an abort during the online stage can be easily attributed as the shares of the signature s that each player reveals can be easily checked to be correct against public information produced by the offline stage.

ECDSA Security

We assume a stronger notion of unforgeability for ECDSA. In this notion we allow the attacker to see the randomizer R before queriying the message during a chosen-message attack.

This is secure in the presence of a state compromise attack - where the adversary is allowed to see the internal state of the signer (but not its secret keys). This models the real-life situation in which the signer pre-computes all the randomizers ’s in advance and stores them in regular memory (while keeping the secret key and the secret nonces in a protected memory). We assume that the adversary manages to read the regular memory contents (i.e. all the ’s) and still will not be able to forge.

Additively Homomorphic Encryption

Uses Paillier’s additively homomorphic encryption scheme for additions - specifically it is additively homomorphic modulo a large integer :

  • Given ciphertexts and there is an efficiently computable function such that .
  • The existence of a ciphertext addition also implies a scalar multiplication operation, . Given an integer and a ciphertext then we have .

Recall the details of such scheme:

  • Key-Gen: where and are randomly generated large primes of equal length.
  • Decryption
  • Homomorphic properties: Given two ciphertexts define . If then . Similarly, given a ciphertext and a number we have that .

Non-Malleable Equivocable Commitments

A trapdoor commitment scheme allows a sender to commit to a message with information-theoretic privacy. i.e., given the transcript of the commitment phase the receiver, even with infinite computing power, cannot guess the committed message better than at random.

This trapdoor should be hard to compute efficiently.

A non-interactive trapdoor commitment scheme consists of the following four algorithms:

  • is the key generation algorithm, on input the security parameter it outputs a pair {, } where is the public key associated with the commitment scheme, and is called the trapdoor.
  • is the commitment algorithm. On input and a message it outputs where are the coin tosses. is the commitment string, while is the decommitment string, which is kept secret until opening time.
  • is the verification algorithm. On input , and it either outputs a message \perp$
  • is the algorithm that opens a commitment in any possible way given the trapdoor information. It takes as input , strings , with , a message and a string . If then outputs such that .

Trapdoor commitments must satisfy:

  • Correctness
  • Information theoretic security
  • Secure binding

Some commitment schemes are not concurrently secure and have a security definition that only holds for , ie. the adversary only sees 1 commitment. A stronger commitment scheme used here is to use any secure hash function and define the commitment to as for a uniformly chosen of length and assume that behaves as a random oracle.

Multiplicative-to-Additive Share Conversion Protocol

This protocol converts multiplicative shares of a secret into additive shares.

Assume that we have two parties Alice and Bob holding two secrets , respectively which we can think of as multiplicative shares of a secret . Alice and Bob would like to compute secret additive shares , of , that is random values such that with Alice holding (and ) and Bob holding (and ).

In the basic MtA protocol, the player’s inputs are not verified, and the players can cause the protocol to produce an incorrect output by inputting the wrong values , . In the case when is public, the protocol can be enhanced to include an extra check that ensures that inputs the correct value - this protocol is called MtAwc (MtA β€œwith check”).

In this protocol, zero-knowledge range proofs and proofs of knowledge are used to verify the commitments. If the proofs fail to verify, the verifying party aborts. The verifier generates the parameters , and and prove the discrete log between and exist.

Q: Why is this share conversion necessary?

Feldman Verifiable Secret Sharing

In Shamir’s secret sharing scheme, to share a secret the dealer generates a random degree polynomial over such that . The secret shares are evaluations of the polynomial:

Each Player receives a share .

In a verifiable secret sharing scheme, auxiliary information is published that allows players to check that their shares are consistent and define a unique secret. Feldman’s VSS is an extension of Shamir secret sharing in which the dealer also publishes in for all and in .

Using this auxiliary information, each Player can check its share for consistency by verifying:

in

If the check does not hold for any player, it raises a complaint and the protocol terminates.

Feldman’s scheme does leak but nothing else.

Key Generation Protocol

Summary:

  • In Phase 1, each player generates a random scalar and its corresponding public component, an EC point , and makes a public, verifiable commitment to that parameter.
    • is necessary for the public commitment, and is meant to be kept private.
  • In Phase 2, each player performs VSS of , and use the received shares from other players to create their own secret key share . Each key share has a corresponding public key
  • In Phase 3, each player proves that they own .

Phase 1:

Phase 2:

Phase 3:

Q: Does each need to be sufficiently large? Or just the prime needs to be large?

Signing Protocol

In summary:

  • Start with additive sharings of , and use technique to create additive sharings of and , and by linear homomorphism, additive shares of . Then a β€œdistributed signature verification” check is performed on shares of to make sure they reconstruct a correct signature.
  • Our first major observation is that we identify a new distributed verification check can be performed on the shares of and before the message is known, and therefore can be done in a pre-processing phase. If those sharings are consistent and correct, then it is safe to reveal shares of once the message is known. This will take just a single scalar multiplication per player and one communication round (i.e. each player sends just a single message) and no online interactivity is required.
  • In Phase 0, each player transforms their share into share .
  • In Phase 1, each player generates their own as multiplicative shares of , and broadcasts their commitment to (via its corresponding public point generated by )
  • In Phase 2, MtA protocol is used to produce additive shares . These are then used to produce and .
  • In Phase 3, is computed for use in Phase 4.
  • In Phase 4, decommitments are presented and are computed.
  • In Phase 5, 6 consistency checks are made based on ZK proofs.
  • In Phase 7, the signature is produced using .

Preliminaries (Phase 0):

Phase 1:

Phase 2:

Phase 3:

Phase 4:

Phase 5:

Phase 6:

Phase 7:

  • Each Player broadcasts and set . If the signature is correct for , the players accept, otherwise they abort.

Identifying Aborts

Overview

A standard way to identify malicious players is to require each player to prove in zero-knowledge that he is performing the protocol correctly, though alternative approaches exist.

Our key observation however is that if the abort happens during the preprocessing stage then the full signature has not been revealed yet (and indeed the message being signed may not even be known at this point). Therefore it is safe for the players to reveal the random choices they made during the protocol so far (that includes β€œopening up” any encryption, etc.) so that their behavior can be verified, and bad players identified.

Moreover, an abort during the online stage can be easily attributed as the shares of the signature that each player reveals can be easily checked to be correct against public information produced by the offline stage.

Key Generation

In the key generation protocol, there are two possible places that an abort can occur:

  • Phase 2: If a player complains that the Feldman share it received is inconsistent and therefore does not verify correctly, the protocol will abort.
    • Here there is ambiguity who the bad player is - whether the complainer is framing the complainee, or the complainee actually dealt a bad share.
    • A simple identification method is simply to publish the dealt share (and the message signature) into the open and let everyone verify. This is fine because the key share hasn’t been used to sign yet.
  • Phase 3: When each player is proving knowledge of and proving the correctness of their Paillier key, if one of these proofs fails to verify the protocol will abort.

Signing Protocol

In the signing protocol, there are places that an abort can occur:

  • Phase 2: If the range proofs of the MtA / MtAwc or ZK proofs for MtAwc fail.
  • Phase 3: If the ZK proof about fails
  • Phase 4: If the decommitment fails to verify
  • Phase 5: If the ZK proof about fails to verify
  • Phase 5: If
  • Phase 6: If the ZK proof about fails to verify
  • Phase 6: If
  • Phase 7: If the signature is not valid for the message .

Resources

https://eprint.iacr.org/2020/540.pdf