In our recent post, Threshold Cryptography III, we discussed how the challenge of constructing a threshold variant of ECDSA was addressed in the GG18 [3] through the use of the Multiplicative-to-Additive (MtA) protocol. This MtA protocol is employed in the initial 3 rounds of the 9-round threshold ECDSA protocol implemented in Binance tss-lib [1].
In this post, we provide a detailed examination of the MtA protocol, which utilizes the additively homomorphic properties of the Paillier encryption scheme to facilitate the exchange of encrypted secret shares among the participating parties.
Paillier Encryption Scheme
The Paillier additive homomorphic encryption scheme is employed in the MtA protocol to encrypt and decrypt exchanged secret shares. It supports additive homomorphism over a large modulus (typically of 2048 bits in size), which is substantially larger than the scalar field of the Secp256k1 elliptic curve. Homomorphic encryption is a term that simply means we are able to perform the operations on the encrypted message without requiring decryption, thereby preserving the confidentiality of the original message during computation.
Paillier Key Generation
Generate two large primes , (called safe primes, for example, of 1024 bits), where , and both , are primes. The Paillier public key is (i.e., an RSA modulus) and an additional public value , the private key is the Carmichael function of , , where is the function to compute the least common multiple of two integers.
Encryption
Given a message (plaintext) , the encryption of the message is called a ciphertext , where is a randomly generated integer that is coprime with .
Decryption
Given a ciphertext in the multiplicative group (elements in that has inverse), the decryption of is mod , where is a function defined as over such that mod .
Correctness of Encryption and Decryption
Decryption in the Paillier encryption scheme is the inverse of encryption, which means that applying the decryption function to a ciphertext yields the original message: Given the Paillier encryption function:
, using the binomial expansion of mod , and eliminating the terms divisible by gives us mod mod , the ciphertext becomes mod mod .
For decryption,
applying the binomial expansion on the numerator and the denominator with modulus , then the numerator is
and the denominator is
By Carmichael's theorems, for any , it holds that mod . Applying this result within the numerator and leveraging the binomial expansion, we obtain mod .
As a result, the exponentiated ciphertext simplifies such that the numerator in the decryption function becomes .
Therefore, the decryption function evaluates as: which correctly recovers the original message .
Additive Homomorphism
The Paillier encryption scheme supports additive homomorphism over the message space . Specifically, given any two messages , and two ciphertexts such that , , the Paillier encryption satisfies:
where the multiplication is performed in the multiplicative group . For two messages and , the ciphertexts are mod , mod . Then $$E_N(m_1) \cdot E_N(m_2) \ \text{mod} \ N^2=\Gamma^{m_1}x_1^N \Gamma^{m_2}x_2^N \ \text{mod} \ N^2=\Gamma^{m_1+m_2}(x_1x_2)^N \ \text{mod} \ N^2,$$ which is .
MtA Protocol
While the 3-round MtA protocol was briefly introduced in the previous post, we now provide a more detailed description in the context of the Paillier cryptosystem, including the associated range proofs over encrypted secret shares. In addition to the previously defined RSA modulus used in the Paillier encryption scheme, each party is also instantiated with an auxiliary RSA module along with two values , in , which are required for creating range proofs based on commitment schemes.
Assume that each party possesses the Paillier public key and corresponding RSA modulus, with all public parameters securely generated, publicly disclosed, and verified by other parties. The MtA protocol executes between any two parties, typically denoted Alice and Bob. Recall that the goal of MtA protocol is to redistribute the multiplicative shares into additive shares such that , where is the scalar field of the Secp256k1 curve.
The following steps are based on the interactive algorithms defined in GG18 [3], where the sender (Prover) and receiver (Verifier) engage in a sequence of message exchanges. In practical implementations, these interactive protocols are typically converted into non-interactive counterparts using the Fiat–Shamir transformation, thereby removing the need for back-and-forth communication while preserving soundness in the random oracle model.
Round 1
The initiator (i.e., Alice) of MtA(MtAwc) protocol performs the following operations.
- Encrypts the secret share with its Paillier public key using the Paillier encryption scheme.
- Creates a range proof of to prove she knows .
- Sends the encrypted share and the range proof of to Bob via p2p.
Refer to GG18 [3], Page 9:

The range proof proceeds as follows on Page 28 of GG18 [3]:

Round 2
Upon receiving the encrypted share and the range proof,
- Bob verifies the range proof as in the above algorithm.
- If the verification succeeds, Bob then randomly generates .
- Computes (in a different notation) and sets its secret share as mod .
- Creates a Bob proof for MtA to prove , , or a Bob proof for MtAwc (MtA with check) to prove , and he also knows , as shown in the following algorithm.
- Sends encrypted share and the Bob proof to Alice via p2p.
Refer to GG18 [3], Page 9:

Refer to GG18 [3], Page 31 for range proof in MtA:

Refer to GG18 [3], Page 30 for range proof in MtAwc:

Round 3
Upon receiving the encrypted share and the Bob proof,
- Alice verifies the Bob proof as in the above algorithms.
- If the verification succeeds, Alice decrypts to obtain with its Paillier private key and sets mod as its additive share.
Refer to GG18 [3], Page 9:

At the conclusion of the MtA(MtAwc) protocols, Alice and Bob collaboratively converts the multiplicative share into additive shares and such that:
where:
- is known only to Alice;
- is known only to Bob;
- and is the scalar field of the Secp256k1 curve.
The resulting additive sharing ensures that neither party learns the value of directly, preserving the secrecy of their respective inputs.
Conclusion
This post reviewed the MtA(MtAwc) protocols instantiated using the Paillier additively homomorphic encryption scheme, under the assumption that all participants possess securely generated, publicly known, and mutually verified Paillier public keys and RSA modulus. The verification of these parameters is a non-trivial task, requiring a series of zero-knowledge proofs to ensure their correctness and compliance with cryptographic security requirements. The details of these verification procedures will be discussed in the next post.
References
- Binance: https://github.com/bnb-chain/tss-lib
- Binance: Binance Open-Sources Threshold Signature Scheme Library
- Rosario Gennaro, Steven Goldfeder, 2018: Fast Multiparty Threshold ECDSA with Fast Trustless Setup (GG18)
- Ran Canetti, Rosario Gennaro, Steven Goldfeder, Nikolaos Makriyannis, Udi Peled, 2021: UC Non-Interactive, Proactive, Threshold ECDSA with Identifiable Aborts (CGGMP21)



