A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes...

173
A Multiparty Computation Approach to Threshold ECDSA Jack Doerner, Yashvanth Kondi, Eysa Lee, abhi shelat Northeastern University Based on work in papers from IEEE S&P 2018 and IEEE S&P 2019

Transcript of A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes...

Page 1: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

A Multiparty Computation Approach

to Threshold ECDSA Jack Doerner, Yashvanth Kondi, Eysa Lee, abhi shelat

Northeastern University

Based on work in papers from IEEE S&P 2018 and IEEE S&P 2019

Page 2: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

{���, ���, ��C} ← Share( )

Threshold Signature

�� , �� ← ���(�κ)

Page 3: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Threshold Signature

{���, ���, ��C} ← Share(��), �� ← ���(�κ)

Page 4: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Threshold Signature

���

��

��� {���, ���, ��C} ← Share(��)

���

Page 5: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Threshold Signature

���

��� ���

��

{���, ���, ��C} ← Share(��)

Page 6: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Threshold Signature Indistinguishable from

���

��� ���

��

{���, ���, ��C} ← Share(��)

‘ordinary’ signature

Page 7: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

3-of-n Signature Scheme

���

���

���

��

��� ���

���

Page 8: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

3-of-n Signature Scheme ���

���

��� ���

���

��

���

Page 9: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

3-of-n Signature Scheme ���

���

��� ���

���

��

���

Page 10: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

3-of-n Signature Scheme ���

��� ���

��

��� ���

���

Page 11: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

3-of-n Signature Scheme ���

���

��

���

��� ���

���

Page 12: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

3-of-n Signature Scheme

���

���

���

���

���

��

���

Page 13: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

3-of-n Signature Scheme ���

��� ���

��

���

���

���

Page 14: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

3-of-n Signature Scheme

���

���

���

���

���

��

���

Page 15: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Full Threshold

• Scheme can be instantiated with any t <= n

• Adversary can corrupt up to t-1 parties

Page 16: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Notation

Elliptic curve parameters G q

Secret values �� k

Public values �� R

Page 17: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

R = k ⋅ Ge = H(R∥m)s = k − �� ⋅ eσ = (s, e)

output σ

Schnorr Signatures

SchnorrSign(��, m) : k ← ℤq

Page 18: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

e = H(R∥m)s = k − �� ⋅ eσ = (s, e)

output σ

Schnorr Signatures

SchnorrSign(��, m) : k ← ℤq

R = k ⋅ G

Page 19: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

s = k − �� ⋅ eσ = (s, e)

output σ

Schnorr Signatures

SchnorrSign(��, m) : k ← ℤq

R = k ⋅ G e = H(R∥m)

Page 20: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

σ = (s, e)output σ

Schnorr Signatures

SchnorrSign(��, m) : k ← ℤq

R = k ⋅ G e = H(R∥m) s = k − �� ⋅ e

Page 21: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Schnorr Signatures

SchnorrSign(��, m) : k ← ℤq

R = k ⋅ G e = H(R∥m) s = k − �� ⋅ e σ = (s, e)

output σ

Page 22: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Schnorr Signatures

SchnorrSign(��, m) : k ← ℤq

R = k ⋅ G e = H(R∥m)Linear function of k, sk s = k − �� ⋅ eThreshold friendly w.

linear secret sharing σ = (s, e) output σ

Page 23: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

ECDSA

Page 24: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

ECDSA

• Devised by David Kravitz, standardized by NIST

Page 25: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

ECDSA

• Devised by David Kravitz, standardized by NIST

• Widespread adoption across the internet

Page 26: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

ECDSA

• Devised by David Kravitz, standardized by NIST

• Widespread adoption across the internet

• Used by TLS, DNSSec, SSH, Bitcoin, Ethereum, etc.

Page 27: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

ECDSA

• Devised by David Kravitz, standardized by NIST

• Widespread adoption across the internet

• Used by TLS, DNSSec, SSH, Bitcoin, Ethereum, etc.

• Unfortunately not ‘threshold friendly’

Page 28: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

s =ek

+�� ⋅ rx

kσ = (s, rx)

output σ

Schnorr vs. ECDSA

SchnorrSign(��, m) : k ← ℤq

R = k ⋅ G e = H(R∥m) s = k − �� ⋅ e σ = (s, e)

output σ

ECDSASign(��, m) : k ← ℤq

R = k ⋅ G e = H(m)

Page 29: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

σ = (s, rx)output σ

Schnorr vs. ECDSA

SchnorrSign(��, m) : k ← ℤq

R = k ⋅ G e = H(R∥m) s = k − �� ⋅ e σ = (s, e)

output σ

ECDSASign(��, m) : k ← ℤq

R = k ⋅ G e = H(m)

e �� ⋅ rxs = +k k

Page 30: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

+�� ⋅ rx

kσ = (s, rx)

output σ    

Schnorr vs. ECDSA

SchnorrSign(��, m) : ECDSASign(��, m) : k ← ℤq k ← ℤq

R = k ⋅ GR = k ⋅ G e = H(m)e = H(R∥m)

s = k − �� ⋅ e s = e

σ = (s, e) k

output σ x − coordinate of R

Page 31: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

σ = (s, rx)output σ

Schnorr vs. ECDSA

SchnorrSign(��, m) : k ← ℤq

R = k ⋅ G e = H(R∥m) s = k − �� ⋅ e σ = (s, e)

output σ

ECDSASign(��, m) : k ← ℤq

R = k ⋅ G e = H(m)

e �� ⋅ rxs = +k k

Bottleneck for threshold setting

Page 32: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Schnorr vs. ECDSA

SchnorrSign(��, m) : k ← ℤq

R = k ⋅ G e = H(R∥m) s = k − �� ⋅ e σ = (s, e)

output σ

ECDSASign(��, m) : k ← ℤq

R = k ⋅ G e = H(m)

e �� ⋅ rxs = +k k

σ = (s, rx) output σ

Page 33: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Threshold ECDSA

Page 34: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie

Reiter 04], [Gennaro Goldfeder Narayanan 16], [Lindell 17]

Page 35: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie

Reiter 04], [Gennaro Goldfeder Narayanan 16], [Lindell 17]

• Practical key generation and efficient signing (full threshold):

Page 36: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie

Reiter 04], [Gennaro Goldfeder Narayanan 16], [Lindell 17]

• Practical key generation and efficient signing (full threshold):

- [Gennaro Goldfeder 18]: Paillier-based

Page 37: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie

Reiter 04], [Gennaro Goldfeder Narayanan 16], [Lindell 17]

• Practical key generation and efficient signing (full threshold):

- [Gennaro Goldfeder 18]: Paillier-based - [Lindell Nof Ranellucci 18]: El-Gamal based

Page 38: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie

Reiter 04], [Gennaro Goldfeder Narayanan 16], [Lindell 17]

• Practical key generation and efficient signing (full threshold):

- [Gennaro Goldfeder 18]: Paillier-based - [Lindell Nof Ranellucci 18]: El-Gamal based

• This work: Full-Threshold ECDSA under native assumptions

Page 39: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie

Reiter 04], [Gennaro Goldfeder Narayanan 16], [Lindell 17]

• Practical key generation and efficient signing (full threshold):

- [Gennaro Goldfeder 18]: Paillier-based - [Lindell Nof Ranellucci 18]: El-Gamal based

• This work: Full-Threshold ECDSA under native assumptions - Low computation, practical bandwidth (100s of KB)

Page 40: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie

Reiter 04], [Gennaro Goldfeder Narayanan 16], [Lindell 17]

• Practical key generation and efficient signing (full threshold):

- [Gennaro Goldfeder 18]: Paillier-based - [Lindell Nof Ranellucci 18]: El-Gamal based

• This work: Full-Threshold ECDSA under native assumptions - Low computation, practical bandwidth (100s of KB) - Benchmarks: order of magnitude better wall-clock time

Page 41: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Our Model

Page 42: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Our Model • Universal Composability [Canetti ’01] (static adv., local RO)

Page 43: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Our Model • Universal Composability [Canetti ’01] (static adv., local RO)

• Functionality (trusted third party emulated by protocol):

Page 44: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Our Model • Universal Composability [Canetti ’01] (static adv., local RO)

• Functionality (trusted third party emulated by protocol): - Store secret key

Page 45: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Our Model • Universal Composability [Canetti ’01] (static adv., local RO)

• Functionality (trusted third party emulated by protocol): - Store secret key - Compute ECDSA signature when enough parties ask

Page 46: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Our Model • Universal Composability [Canetti ’01] (static adv., local RO)

• Functionality (trusted third party emulated by protocol): - Store secret key - Compute ECDSA signature when enough parties ask

• Assumption: Computational Diffie-Hellman problem is hard in the same group used by ECDSA

Page 47: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Our Model • Universal Composability [Canetti ’01] (static adv., local RO)

• Functionality (trusted third party emulated by protocol): - Store secret key - Compute ECDSA signature when enough parties ask

• Assumption: Computational Diffie-Hellman problem is hard in the same group used by ECDSA

• Network: Synchronous, broadcast

Page 48: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Our Model • Universal Composability [Canetti ’01] (static adv., local RO)

• Functionality (trusted third party emulated by protocol): - Store secret key - Compute ECDSA signature when enough parties ask

• Assumption: Computational Diffie-Hellman problem is hard in the same group used by ECDSA

• Network: Synchronous, broadcast

• Security with abort

Page 49: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Our Approach • Setup: MUL setup, VSS for [sk]

• Signing:

1. Get candidate shares [k], [1/k], and R=k·G

2. Compute [sk/k] = MUL([1/k], [sk])

3. Check relations in exponent

4. Reconstruct sig = [1/k]·H(m)+[sk/k]

Page 50: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Our Approach • Setup: MUL setup, VSS for [sk]

• Signing:

1. Get candidate shares [k], [1/k], and R=k·G

2. Compute [sk/k] = MUL([1/k], [sk])

3. Check relations in exponent

4. Reconstruct sig = [1/k]·H(m)+[sk/k]

Page 51: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Setup

Page 52: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Setup • Fully distributed

Page 53: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Setup • Fully distributed

• MUL setup: Pairwise among parties

Page 54: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Setup • Fully distributed

• MUL setup: Pairwise among parties

• Key generation: Every party Shamir-shares a random secret

Page 55: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Setup • Fully distributed

• MUL setup: Pairwise among parties

• Key generation: Every party Shamir-shares a random secret

- Secret key is sum of parties’ contributions

Page 56: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Setup • Fully distributed

• MUL setup: Pairwise among parties

• Key generation: Every party Shamir-shares a random secret

- Secret key is sum of parties’ contributions

- Verify in the exponent that parties’ shares are on the same polynomial

Page 57: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Our Approach • Setup: MUL setup, VSS for [sk]

• Signing:

1. Get candidate shares [k], [1/k], and R=k·G

2. Compute [sk/k] = MUL([1/k], [sk])

3. Check relations in exponent

4. Reconstruct sig = [1/k]·H(m)+[sk/k]

Page 58: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Obtaining Candidate Shares

Page 59: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Obtaining Candidate Shares

• Building Block: Two party MUL with full security

Page 60: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Obtaining Candidate Shares

• Building Block: Two party MUL with full security

• One approach [DKLs19]:

Page 61: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Obtaining Candidate Shares

• Building Block: Two party MUL with full security

• One approach [DKLs19]:

- Each party starts with multiplicative shares of k and 1/k

Page 62: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Obtaining Candidate Shares

• Building Block: Two party MUL with full security

• One approach [DKLs19]:

- Each party starts with multiplicative shares of k and 1/k

- Multiplicative to additive shares: log(t)+c rounds

Page 63: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Obtaining Candidate Shares

• Building Block: Two party MUL with full security

• One approach [DKLs19]:

- Each party starts with multiplicative shares of k and 1/k

- Multiplicative to additive shares: log(t)+c rounds

• Alternative: [Bar-Ilan&Beaver ’89] approach yields constant round protocol (work in progress)

Page 64: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Our Approach • Setup: MUL setup, VSS for [sk]

• Signing:

1. Get candidate shares [k], [1/k], and R=k·G

2. Compute [sk/k] = MUL([1/k], [sk])

3. Check relations in exponent

4. Reconstruct sig = [1/k]·H(m)+[sk/k]

Page 65: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Our Approach • Setup: MUL setup, VSS for [sk]

• Signing:

1. Get candidate shares [k], [1/k], and R=k·G

2. Compute [sk/k] = MUL([1/k], [sk]) => Standard GMW

3. Check relations in exponent

4. Reconstruct sig = [1/k]·H(m)+[sk/k]

Page 66: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Two-party MUL

Page 67: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Two-party MUL

• Need:

Page 68: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Two-party MUL

• Need:

- Efficient single-use (not amortized) multiplication

Page 69: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Two-party MUL

• Need:

- Efficient single-use (not amortized) multiplication

- Assumptions in the same curve as ECDSA

Page 70: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Two-party MUL

• Need:

- Efficient single-use (not amortized) multiplication

- Assumptions in the same curve as ECDSA

• [Gilboa ’99]: semi-honest MUL based on OT

Page 71: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Two-party MUL

• Need:

- Efficient single-use (not amortized) multiplication

- Assumptions in the same curve as ECDSA

• [Gilboa ’99]: semi-honest MUL based on OT

• We harden to full malicious security in the RO model

Page 72: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Oblivious Transfer

OT b�0, �1

Page 73: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Oblivious Transfer

�0, �1 OT b

Page 74: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Oblivious Transfer

�0, �1 OT b �b

Page 75: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Oblivious Transfer

�0, �1

• Instantiation: “Verified” Simplest Oblivious Transfer [Chou&Orlandi15]

OT b �b

Page 76: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Oblivious Transfer

�0, �1

• Instantiation: “Verified” Simplest Oblivious Transfer [Chou&Orlandi15]

• UC-secure (RO model) assuming CDH in the same group as ECDSA

OT b �b

Page 77: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Oblivious Transfer

�0, �1

• Instantiation: “Verified” Simplest Oblivious Transfer [Chou&Orlandi15]

• UC-secure (RO model) assuming CDH in the same group as ECDSA

• OT Extension: [Keller Orsini Scholl ’15]

OT b �b

Page 78: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Malicious OT-MUL

Page 79: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Malicious OT-MUL • Gil99 already secure against malicious Bob

Page 80: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Malicious OT-MUL • Gil99 already secure against malicious Bob

• Security against malicious Alice:

Page 81: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Malicious OT-MUL • Gil99 already secure against malicious Bob

• Security against malicious Alice:

- Selective Failure: Bob uses high-entropy encoding of input

Page 82: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Malicious OT-MUL • Gil99 already secure against malicious Bob

• Security against malicious Alice:

- Selective Failure: Bob uses high-entropy encoding of input

- Input consistency: Alice is challenged to reveal a linear combination of her (masked) inputs

Page 83: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Malicious OT-MUL • Gil99 already secure against malicious Bob

• Security against malicious Alice:

- Selective Failure: Bob uses high-entropy encoding of input

- Input consistency: Alice is challenged to reveal a linear combination of her (masked) inputs

• Minimally interactive: two messages

Page 84: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Malicious OT-MUL • Gil99 already secure against malicious Bob

• Security against malicious Alice:

- Selective Failure: Bob uses high-entropy encoding of input

- Input consistency: Alice is challenged to reveal a linear combination of her (masked) inputs

• Minimally interactive: two messages

• Overhead: ~6x, room for improvement

Page 85: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Our Approach • Setup: MUL setup, VSS for [sk]

• Signing:

1. Get candidate shares [k], [1/k], and R=k·G

2. Compute [sk/k] = MUL([1/k], [sk])

3. Check relations in exponent

4. Reconstruct sig = [1/k]·H(m)+[sk/k]

Page 86: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Check in Exponent

Page 87: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Check in Exponent

• Three sharings [k],[1/k],[sk/k] to verify consistency

Page 88: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Check in Exponent

• Three sharings [k],[1/k],[sk/k] to verify consistency

• Technique: Each equation is verified in the exponent,

using ‘auxiliary’ information that’s already available

Page 89: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Check in Exponent

• Three sharings [k],[1/k],[sk/k] to verify consistency

• Technique: Each equation is verified in the exponent,

using ‘auxiliary’ information that’s already available

• Cost: 5+t exponentiations, 5 group elements per party

Page 90: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Check in Exponent • There are three relations that have to be verified

[ ��

[k] [ 1

k ] k ]

Page 91: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Check in Exponent • There are three relations that have to be verified

[ ��

[k] [ 1

k ] k ]

Page 92: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Check in Exponent • There are three relations that have to be verified

[k] [ 1

k ] k ]

R

[ ��

Page 93: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Check in Exponent

• Task: verify relationship between [k] and [1/k]

• Auxiliary information: ‘k’ in the exponent, ie. R=k·G

• Idea: verify [ 1

k ][k] = 1 by verifying [ 1

k ][k] ⋅ G = G

Page 94: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Check in Exponent Attempt at a solution:

Page 95: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Check in Exponent Attempt at a solution:

Public R

Page 96: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Check in Exponent Attempt at a solution:

Public R

= [ 1

Broadcast Γi ⋅ Rk ]i

Page 97: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Check in Exponent Attempt at a solution:

Public R

= [ 1

Broadcast Γi ⋅ Rk ]i

Verify Γi = G∑ i∈[n]

Page 98: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

    

Check in Exponent Adversary's contribution

Honest Party's contribution Attempt at a solution:

Public R = kAkh ⋅ G

1 Broadcast Γi ⋅ R= [

1 ]k� kh i

Verify Γi = G∑ i∈[n]

Page 99: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

    

Check in Exponent Adversary's contribution

Honest Party's contribution Attempt at a solution:

Public R = kAkh ⋅ G

Broadcast Γi = [( 1

+ϵ) k1

h ] ⋅ Rk�

i

Verify

Page 100: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

    

Check in Exponent Adversary's contribution

Honest Party's contribution Attempt at a solution:

Public R = kAkh ⋅ G

Broadcast Γi = [( 1

+ϵ) k1

h ] ⋅ Rk�

i

Verify Γi = G+ϵkA ⋅ G∑ i∈[n]

Page 101: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

    

Check in Exponent Adversary's contribution

Honest Party's contribution Attempt at a solution:

Public R = kAkh ⋅ G

Broadcast Γi = [( 1

+ϵ) k1

h ] ⋅ Rk�

i

Verify Γi = G+ϵkA ⋅ G∑ i∈[n] Easy for Adv. to offset

Page 102: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Check in Exponent

Page 103: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Check in Exponent

• Each party commits ϕi before MUL

Page 104: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Check in Exponent

• Each party commits ϕi before MUL

• Define ϕ = ϕi∏ i∈[n]

Page 105: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Check in Exponent

• Each party commits ϕi before MUL

• Define ϕ = ϕi∏ i∈[n]

• Randomize inversion: compute [ ϕ

instead of [ 1

k ] k ]

Page 106: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Check in Exponent

• Each party commits ϕi before MUL

• Define ϕ = ϕi∏ i∈[n]

• Randomize inversion: compute [ ϕ

instead of [ 1

k ] k ]

• Reveal ϕ only after every other value is committed

Page 107: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

      

Check in Exponent Adversary'sAdversary'sAdversary's contributioncontributioncontribution

Honest Party's contributionAttempt at a solution:

Public R = kAkh ⋅ G

ϕhBroadcast Γi = [

ϕA ] ⋅ Rk� kh i

Verify

Page 108: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

      

Check in Exponent Adversary'sAdversary'sAdversary's contributioncontributioncontribution

Honest Party's contributionAttempt at a solution:

Public R = kAkh ⋅ G

ϕhBroadcast Γi = [

ϕA ] ⋅ Rk� kh i

Verify Γi = ϕAϕh ⋅ G∑ i∈[n]

Page 109: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

      

Check in Exponent Adversary'sAdversary'sAdversary's contributioncontributioncontribution

Honest Party's contributionAttempt at a solution:

Public R = kAkh ⋅ G

ϕhBroadcast Γi = [

ϕA ] ⋅ Rk� kh i

Verify Γi = Φ∑ i∈[n]

Page 110: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

      

Check in Exponent Adversary'sAdversary'sAdversary's contributioncontributioncontribution

Honest Party's contributionAttempt at a solution:

Public R = kAkh ⋅ G

Broadcast Γi = [( ϕA +ϵ)

ϕkh

h ] ⋅ Rk�

i

Verify

Page 111: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

      

Check in Exponent Adversary'sAdversary'sAdversary's contributioncontributioncontribution

Honest Party's contributionAttempt at a solution:

Public R = kAkh ⋅ G

Broadcast Γi = [( ϕA +ϵ)

ϕkh

h ] ⋅ Rk�

i

Verify Γi = Φ+ϵϕhkA ⋅ G∑ i∈[n]

Page 112: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

      

Check in Exponent Adversary'sAdversary'sAdversary's contributioncontributioncontribution

Honest Party's contributionAttempt at a solution:

Public R = kAkh ⋅ G

Broadcast Γi = [( ϕA +ϵ)

ϕkh

h ] ⋅ Rk�

i

Verify Γi = Φ+ϵϕhkA ⋅ G∑ i∈[n] Completely unpredictable

Page 113: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Check in Exponent • There are three relations that have to be verified

[k] [ 1

k ] k ]

R

[ ��

Page 114: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Check in Exponent • There are three relations that have to be verified

��

[k] [ 1

k ] k ]

R

[ ��

Page 115: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Check in Exponent • There are three relations that have to be verified

�� R

[ ��

[k] [ 1

k ] k ]

R, ��

Page 116: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Our Approach • Setup: MUL setup, VSS for [sk]

• Signing:

1. Get candidate shares [k], [1/k], and R=k·G

2. Compute [sk/k] = MUL([1/k], [sk])

3. Check relations in exponent

4. Reconstruct sig = [1/k]·H(m)+[sk/k]

Page 117: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Our Approach • Setup: MUL setup, VSS for [sk]

• Signing:

1. Get candidate shares [k], [1/k], and R=k·G

2. Compute [sk/k] = MUL([1/k], [sk])

3. Check relations in exponent Broadcast linear

4. Reconstruct sig = [1/k]·H(m)+[sk/k] combination of shares

Page 118: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Dominant Costs

Page 119: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Dominant Costs • Setup:

Page 120: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Dominant Costs • Setup:

- OTE Setup (128 OTs) pairwise, broadcast PoK (DLog)

Page 121: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Dominant Costs • Setup:

- OTE Setup (128 OTs) pairwise, broadcast PoK (DLog)

- 5 rounds

Page 122: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Dominant Costs • Setup:

- OTE Setup (128 OTs) pairwise, broadcast PoK (DLog)

- 5 rounds

- Concretely ~21n KB (transmitted), ~520n exp/party

Page 123: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Dominant Costs • Setup:

- OTE Setup (128 OTs) pairwise, broadcast PoK (DLog)

- 5 rounds

- Concretely ~21n KB (transmitted), ~520n exp/party

• Signing:

Page 124: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Dominant Costs • Setup:

- OTE Setup (128 OTs) pairwise, broadcast PoK (DLog)

- 5 rounds

- Concretely ~21n KB (transmitted), ~520n exp/party

• Signing:

- log(t)+6 rounds, constant round version in progress

Page 125: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Dominant Costs • Setup:

- OTE Setup (128 OTs) pairwise, broadcast PoK (DLog)

- 5 rounds

- Concretely ~21n KB (transmitted), ~520n exp/party

• Signing:

- log(t)+6 rounds, constant round version in progress

- Concretely ~65t KB (transmitted), 5+t exp/party

Page 126: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Benchmarks

Page 127: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Benchmarks

• Implementation in Rust

Page 128: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Benchmarks

• Implementation in Rust

• Ran benchmarks on Google Cloud

Page 129: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Benchmarks

• Implementation in Rust

• Ran benchmarks on Google Cloud

• One node per party

Page 130: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Benchmarks

• Implementation in Rust

• Ran benchmarks on Google Cloud

• One node per party

• LAN and WAN tests (up to 16 zones)

Page 131: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Benchmarks

• Implementation in Rust

• Ran benchmarks on Google Cloud

• One node per party

• LAN and WAN tests (up to 16 zones)

• Low Power Friendliness: Raspberry Pi benchmark(~60ms for 2-of-2)

Page 132: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

LAN Setup

Broadcast PoK (DLog), Pairwise: 128 OTs

Page 133: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

LAN Setup

Broadcast PoK (DLog), Pairwise: 128 OTs

Page 134: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

LAN Setup

Broadcast PoK (DLog), Pairwise: 128 OTs

Page 135: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

LAN Signing

Page 136: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

LAN Signing

Page 137: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

LAN Signing

Page 138: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

LAN Signing

Page 139: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

WAN Node Locations

66.5 ms 348 ms

87.1 ms

235 ms

Page 140: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

66.5 ms348 ms

87.1 ms

235 ms

Fig. 4: Map of Datacenter Locations used for WAN Benchmarks,with latency figures along a few of the longer routes. The subgroupof five zones inside the US are highlighted in red.

TABLE IV: Wall-clock Times in Milliseconds over WAN. Thebenchmark configurations used are described in Section VIII-C. Forsigning we varied t according to these parameters, and for setup wevaried n, fixing t = b(n+1)/2c. Benchmarks involving only a singlezone are LAN benchmarks, for comparison.

instances with current-generation CPUs; these are located ona map in Figure 4. Five were located inside the United States,in South Carolina, Virginia, Oregon, California, and Iowa.Among these, the longest leg was between Oregon and SouthCarolina, with a round-trip latency of 66.5 ms and bandwidthof 353 Mbits/sec. The remaining 11 were located in Montreál,London, Frankfurt, Belgium, the Netherlands, Finland, Sydney,Taiwan, Tokyo, Mumbai, and Singapore. Among the completeset, the longest leg was between Belgium and Mumbai, witha round-trip latency of 348 ms and a bandwidth of 53.4MBits/sec. We tested two configurations: one with only thefive US datacenters participating, and another with all 16. Foreach configuration, we performed benchmarks with one partyin each participating datacenter, and with eight parties in eachparticipating datacenter. In all cases, we collected 125 samples.Results are reported in Table IV, along with comparative datafrom our LAN benchmarks.

It is worth noting that Wang et al. [33] recently made theclaim that they performed the largest-scale demonstration ofmultiparty computation to date. Their benchmark involves128 parties split among eight datacenters around the world,who jointly compute an AES circuit using the actively-securemultiparty garbling protocol that they developed. Our WANbenchmark involves 128 parties split among 16 datacenters,

and thus we claim that we have also evaluated one of thelargest secure multiparty protocols to date, at least so faras party count and geographic distribution are concerned.We also note that the in the clear setting, AES is generallyconsidered to have a much lower circuit complexity thanECDSA; this is reflected in the significantly lower computationtime for a single AES operation as compared to signing asingle message using ECDSA. Interestingly, in the context ofevaluating these primitives securely among multiple parties,our protocol for realizing F

n,tECDSA performs considerably better

than Wang et al.’s realization of FnAES

. In the LAN settingwith 128 parties (each much more powerful than the ones weemploy), they report a 17-second wall clock time, includingpreprocessing, and in the global WAN setting with 128 parties,their protocol requires 2.5 minutes. When the setup and signingcosts are combined for our protocol, it requires 2.5 secondsand 7.5 seconds with 128 parties in the LAN and globalWAN settings, respectively. This discrepancy in performanceis counterintuitive, but unsurprising in light of the fact thatthe algebraically structured nature of ECDSA allows customprotocols such as our own to be devised. We believe that thisserves to demonstrate that there are multiparty functionalitiesfor which specially tailored protocols are warranted in practice,as opposed to the blind use of generic MPC for all tasks.

D. Low-power Benchmarks

Finally, we performed a set of benchmarks on a group ofthree Raspberry Pi model 3B+ single-board computers in orderto demonstrate the feasibility of evaluating our protocol (and theprotocols of Doerner et al. [1]) on small, low-powered devices.Each board has a single, quad-core ARM-based processorclocked at 1.4 GHz. The boards were loaded with RaspbianLinux (kernel 4.14) and connected to one another via ethernet.As an optimization for the embedded setting, we abandonedSHA-256 (except where required by ECDSA) in favor of theBLAKE2 hash function [34], using assembly implementationsprovided by the BLAKE2 authors. To simulate the settingwherein an embedded device signs with a more powerful one,we used a 2013 15" Macbook Pro running Mac OS 10.13(i.e. one author’s laptop). This machine was engaged in othertasks at the time of benchmarking, and no attempt was made toprevent this. We benchmarked 2-of-2 signing and setup betweenthe Macbook and a single Raspberry Pi, and t-of-n setup andsigning among the group of Pis, with n set as 3 and t as both2 and 3. When n = 2, we used the slightly more efficientprotocols of Doerner et al. [1] without modification, and whent = 3 we used the protocols presented in this paper. For setup,we collected 50 samples, and for signing, we collected 250.Results are presented in Table V. We observe that in spite ofthe limitations of the hardware on which these benchmarkswere run, the signing time remains much less than a second,and setup requires only a few seconds. Thus we expect ourprotocol to be computationally efficient enough to run even onembedded devices such as hardware tokens or smartwatches,and certainly on more powerful mobile devices such as phones.

WAN Benchmarks All time values in milliseconds

Parties/Zones Signing Rounds Signing Time Setup Time

5/1 9 13.6 67.9 5/5 9 288 328 16/1 10 26.3 181

16/16 10 3045 1676 40/1 12 60.8 539 40/5 12 592 743

128/1 13 193.2 2300 128/16 13 4118 3424

Page 141: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

66.5 ms348 ms

87.1 ms

235 ms

Fig. 4: Map of Datacenter Locations used for WAN Benchmarks,with latency figures along a few of the longer routes. The subgroupof five zones inside the US are highlighted in red.

TABLE IV: Wall-clock Times in Milliseconds over WAN. Thebenchmark configurations used are described in Section VIII-C. Forsigning we varied t according to these parameters, and for setup wevaried n, fixing t = b(n+1)/2c. Benchmarks involving only a singlezone are LAN benchmarks, for comparison.

instances with current-generation CPUs; these are located ona map in Figure 4. Five were located inside the United States,in South Carolina, Virginia, Oregon, California, and Iowa.Among these, the longest leg was between Oregon and SouthCarolina, with a round-trip latency of 66.5 ms and bandwidthof 353 Mbits/sec. The remaining 11 were located in Montreál,London, Frankfurt, Belgium, the Netherlands, Finland, Sydney,Taiwan, Tokyo, Mumbai, and Singapore. Among the completeset, the longest leg was between Belgium and Mumbai, witha round-trip latency of 348 ms and a bandwidth of 53.4MBits/sec. We tested two configurations: one with only thefive US datacenters participating, and another with all 16. Foreach configuration, we performed benchmarks with one partyin each participating datacenter, and with eight parties in eachparticipating datacenter. In all cases, we collected 125 samples.Results are reported in Table IV, along with comparative datafrom our LAN benchmarks.

It is worth noting that Wang et al. [33] recently made theclaim that they performed the largest-scale demonstration ofmultiparty computation to date. Their benchmark involves128 parties split among eight datacenters around the world,who jointly compute an AES circuit using the actively-securemultiparty garbling protocol that they developed. Our WANbenchmark involves 128 parties split among 16 datacenters,

and thus we claim that we have also evaluated one of thelargest secure multiparty protocols to date, at least so faras party count and geographic distribution are concerned.We also note that the in the clear setting, AES is generallyconsidered to have a much lower circuit complexity thanECDSA; this is reflected in the significantly lower computationtime for a single AES operation as compared to signing asingle message using ECDSA. Interestingly, in the context ofevaluating these primitives securely among multiple parties,our protocol for realizing F

n,tECDSA performs considerably better

than Wang et al.’s realization of FnAES

. In the LAN settingwith 128 parties (each much more powerful than the ones weemploy), they report a 17-second wall clock time, includingpreprocessing, and in the global WAN setting with 128 parties,their protocol requires 2.5 minutes. When the setup and signingcosts are combined for our protocol, it requires 2.5 secondsand 7.5 seconds with 128 parties in the LAN and globalWAN settings, respectively. This discrepancy in performanceis counterintuitive, but unsurprising in light of the fact thatthe algebraically structured nature of ECDSA allows customprotocols such as our own to be devised. We believe that thisserves to demonstrate that there are multiparty functionalitiesfor which specially tailored protocols are warranted in practice,as opposed to the blind use of generic MPC for all tasks.

D. Low-power Benchmarks

Finally, we performed a set of benchmarks on a group ofthree Raspberry Pi model 3B+ single-board computers in orderto demonstrate the feasibility of evaluating our protocol (and theprotocols of Doerner et al. [1]) on small, low-powered devices.Each board has a single, quad-core ARM-based processorclocked at 1.4 GHz. The boards were loaded with RaspbianLinux (kernel 4.14) and connected to one another via ethernet.As an optimization for the embedded setting, we abandonedSHA-256 (except where required by ECDSA) in favor of theBLAKE2 hash function [34], using assembly implementationsprovided by the BLAKE2 authors. To simulate the settingwherein an embedded device signs with a more powerful one,we used a 2013 15" Macbook Pro running Mac OS 10.13(i.e. one author’s laptop). This machine was engaged in othertasks at the time of benchmarking, and no attempt was made toprevent this. We benchmarked 2-of-2 signing and setup betweenthe Macbook and a single Raspberry Pi, and t-of-n setup andsigning among the group of Pis, with n set as 3 and t as both2 and 3. When n = 2, we used the slightly more efficientprotocols of Doerner et al. [1] without modification, and whent = 3 we used the protocols presented in this paper. For setup,we collected 50 samples, and for signing, we collected 250.Results are presented in Table V. We observe that in spite ofthe limitations of the hardware on which these benchmarkswere run, the signing time remains much less than a second,and setup requires only a few seconds. Thus we expect ourprotocol to be computationally efficient enough to run even onembedded devices such as hardware tokens or smartwatches,and certainly on more powerful mobile devices such as phones.

WAN Benchmarks All time values in milliseconds

Parties/Zones Signing Rounds Signing Time Setup Time

5/1 9 13.6 67.9 5/5 9 288 328 16/1 10 26.3 181

16/16 10 3045 1676 40/1 12 60.8 539 40/5 12 592 743

128/1 13 193.2 2300 128/16 13 4118 3424

Page 142: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

66.5 ms348 ms

87.1 ms

235 ms

Fig. 4: Map of Datacenter Locations used for WAN Benchmarks,with latency figures along a few of the longer routes. The subgroupof five zones inside the US are highlighted in red.

TABLE IV: Wall-clock Times in Milliseconds over WAN. Thebenchmark configurations used are described in Section VIII-C. Forsigning we varied t according to these parameters, and for setup wevaried n, fixing t = b(n+1)/2c. Benchmarks involving only a singlezone are LAN benchmarks, for comparison.

instances with current-generation CPUs; these are located ona map in Figure 4. Five were located inside the United States,in South Carolina, Virginia, Oregon, California, and Iowa.Among these, the longest leg was between Oregon and SouthCarolina, with a round-trip latency of 66.5 ms and bandwidthof 353 Mbits/sec. The remaining 11 were located in Montreál,London, Frankfurt, Belgium, the Netherlands, Finland, Sydney,Taiwan, Tokyo, Mumbai, and Singapore. Among the completeset, the longest leg was between Belgium and Mumbai, witha round-trip latency of 348 ms and a bandwidth of 53.4MBits/sec. We tested two configurations: one with only thefive US datacenters participating, and another with all 16. Foreach configuration, we performed benchmarks with one partyin each participating datacenter, and with eight parties in eachparticipating datacenter. In all cases, we collected 125 samples.Results are reported in Table IV, along with comparative datafrom our LAN benchmarks.

It is worth noting that Wang et al. [33] recently made theclaim that they performed the largest-scale demonstration ofmultiparty computation to date. Their benchmark involves128 parties split among eight datacenters around the world,who jointly compute an AES circuit using the actively-securemultiparty garbling protocol that they developed. Our WANbenchmark involves 128 parties split among 16 datacenters,

and thus we claim that we have also evaluated one of thelargest secure multiparty protocols to date, at least so faras party count and geographic distribution are concerned.We also note that the in the clear setting, AES is generallyconsidered to have a much lower circuit complexity thanECDSA; this is reflected in the significantly lower computationtime for a single AES operation as compared to signing asingle message using ECDSA. Interestingly, in the context ofevaluating these primitives securely among multiple parties,our protocol for realizing F

n,tECDSA performs considerably better

than Wang et al.’s realization of FnAES

. In the LAN settingwith 128 parties (each much more powerful than the ones weemploy), they report a 17-second wall clock time, includingpreprocessing, and in the global WAN setting with 128 parties,their protocol requires 2.5 minutes. When the setup and signingcosts are combined for our protocol, it requires 2.5 secondsand 7.5 seconds with 128 parties in the LAN and globalWAN settings, respectively. This discrepancy in performanceis counterintuitive, but unsurprising in light of the fact thatthe algebraically structured nature of ECDSA allows customprotocols such as our own to be devised. We believe that thisserves to demonstrate that there are multiparty functionalitiesfor which specially tailored protocols are warranted in practice,as opposed to the blind use of generic MPC for all tasks.

D. Low-power Benchmarks

Finally, we performed a set of benchmarks on a group ofthree Raspberry Pi model 3B+ single-board computers in orderto demonstrate the feasibility of evaluating our protocol (and theprotocols of Doerner et al. [1]) on small, low-powered devices.Each board has a single, quad-core ARM-based processorclocked at 1.4 GHz. The boards were loaded with RaspbianLinux (kernel 4.14) and connected to one another via ethernet.As an optimization for the embedded setting, we abandonedSHA-256 (except where required by ECDSA) in favor of theBLAKE2 hash function [34], using assembly implementationsprovided by the BLAKE2 authors. To simulate the settingwherein an embedded device signs with a more powerful one,we used a 2013 15" Macbook Pro running Mac OS 10.13(i.e. one author’s laptop). This machine was engaged in othertasks at the time of benchmarking, and no attempt was made toprevent this. We benchmarked 2-of-2 signing and setup betweenthe Macbook and a single Raspberry Pi, and t-of-n setup andsigning among the group of Pis, with n set as 3 and t as both2 and 3. When n = 2, we used the slightly more efficientprotocols of Doerner et al. [1] without modification, and whent = 3 we used the protocols presented in this paper. For setup,we collected 50 samples, and for signing, we collected 250.Results are presented in Table V. We observe that in spite ofthe limitations of the hardware on which these benchmarkswere run, the signing time remains much less than a second,and setup requires only a few seconds. Thus we expect ourprotocol to be computationally efficient enough to run even onembedded devices such as hardware tokens or smartwatches,and certainly on more powerful mobile devices such as phones.

WAN Benchmarks All time values in milliseconds

Parties/Zones Signing Rounds Signing Time Setup Time

5/1 9 13.6 67.9 5/5 9 288 328 16/1 10 26.3 181

16/16 10 3045 1676 40/1 12 60.8 539 40/5 12 592 743

128/1 13 193.2 2300 128/16 13 4118 3424

Page 143: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

66.5 ms348 ms

87.1 ms

235 ms

Fig. 4: Map of Datacenter Locations used for WAN Benchmarks,with latency figures along a few of the longer routes. The subgroupof five zones inside the US are highlighted in red.

TABLE IV: Wall-clock Times in Milliseconds over WAN. Thebenchmark configurations used are described in Section VIII-C. Forsigning we varied t according to these parameters, and for setup wevaried n, fixing t = b(n+1)/2c. Benchmarks involving only a singlezone are LAN benchmarks, for comparison.

instances with current-generation CPUs; these are located ona map in Figure 4. Five were located inside the United States,in South Carolina, Virginia, Oregon, California, and Iowa.Among these, the longest leg was between Oregon and SouthCarolina, with a round-trip latency of 66.5 ms and bandwidthof 353 Mbits/sec. The remaining 11 were located in Montreál,London, Frankfurt, Belgium, the Netherlands, Finland, Sydney,Taiwan, Tokyo, Mumbai, and Singapore. Among the completeset, the longest leg was between Belgium and Mumbai, witha round-trip latency of 348 ms and a bandwidth of 53.4MBits/sec. We tested two configurations: one with only thefive US datacenters participating, and another with all 16. Foreach configuration, we performed benchmarks with one partyin each participating datacenter, and with eight parties in eachparticipating datacenter. In all cases, we collected 125 samples.Results are reported in Table IV, along with comparative datafrom our LAN benchmarks.

It is worth noting that Wang et al. [33] recently made theclaim that they performed the largest-scale demonstration ofmultiparty computation to date. Their benchmark involves128 parties split among eight datacenters around the world,who jointly compute an AES circuit using the actively-securemultiparty garbling protocol that they developed. Our WANbenchmark involves 128 parties split among 16 datacenters,

and thus we claim that we have also evaluated one of thelargest secure multiparty protocols to date, at least so faras party count and geographic distribution are concerned.We also note that the in the clear setting, AES is generallyconsidered to have a much lower circuit complexity thanECDSA; this is reflected in the significantly lower computationtime for a single AES operation as compared to signing asingle message using ECDSA. Interestingly, in the context ofevaluating these primitives securely among multiple parties,our protocol for realizing F

n,tECDSA performs considerably better

than Wang et al.’s realization of FnAES

. In the LAN settingwith 128 parties (each much more powerful than the ones weemploy), they report a 17-second wall clock time, includingpreprocessing, and in the global WAN setting with 128 parties,their protocol requires 2.5 minutes. When the setup and signingcosts are combined for our protocol, it requires 2.5 secondsand 7.5 seconds with 128 parties in the LAN and globalWAN settings, respectively. This discrepancy in performanceis counterintuitive, but unsurprising in light of the fact thatthe algebraically structured nature of ECDSA allows customprotocols such as our own to be devised. We believe that thisserves to demonstrate that there are multiparty functionalitiesfor which specially tailored protocols are warranted in practice,as opposed to the blind use of generic MPC for all tasks.

D. Low-power Benchmarks

Finally, we performed a set of benchmarks on a group ofthree Raspberry Pi model 3B+ single-board computers in orderto demonstrate the feasibility of evaluating our protocol (and theprotocols of Doerner et al. [1]) on small, low-powered devices.Each board has a single, quad-core ARM-based processorclocked at 1.4 GHz. The boards were loaded with RaspbianLinux (kernel 4.14) and connected to one another via ethernet.As an optimization for the embedded setting, we abandonedSHA-256 (except where required by ECDSA) in favor of theBLAKE2 hash function [34], using assembly implementationsprovided by the BLAKE2 authors. To simulate the settingwherein an embedded device signs with a more powerful one,we used a 2013 15" Macbook Pro running Mac OS 10.13(i.e. one author’s laptop). This machine was engaged in othertasks at the time of benchmarking, and no attempt was made toprevent this. We benchmarked 2-of-2 signing and setup betweenthe Macbook and a single Raspberry Pi, and t-of-n setup andsigning among the group of Pis, with n set as 3 and t as both2 and 3. When n = 2, we used the slightly more efficientprotocols of Doerner et al. [1] without modification, and whent = 3 we used the protocols presented in this paper. For setup,we collected 50 samples, and for signing, we collected 250.Results are presented in Table V. We observe that in spite ofthe limitations of the hardware on which these benchmarkswere run, the signing time remains much less than a second,and setup requires only a few seconds. Thus we expect ourprotocol to be computationally efficient enough to run even onembedded devices such as hardware tokens or smartwatches,and certainly on more powerful mobile devices such as phones.

WAN Benchmarks All time values in milliseconds

Parties/Zones Signing Rounds Signing Time Setup Time

5/1 5/5 16/1 16/16 40/1 40/5

9 9

10 10 12 12

13.6 288 26.3

3045 60.8

592

67.9 328 181

1676 539 743

128/1 13 193.2 2300 128/16 13 4118 3424

Page 144: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

n/t Range n/t Step Samples (Signing) Samples (Setup)

[2, 8] 1 16000 2000

(8, 16] 2 8000 1000

(16, 32] 4 4000 500

(32, 64] 8 2000 250

(64, 128] 16 1000 125

(128, 256] 32 500 62

TABLE III: LAN Benchmark Parameters. For signing we variedt according to these parameters, and for setup we varied n, fixingt = b(n+ 1)/2c.

Fig. 2: Wall Clock Times for n-Party Setup over LAN. Note thatall parties reside on individual machines in the same datacenter, andlatency is on the order of a few tenths of a millisecond.

only t, the number of parties actually participating in signing.For setup, only computation costs depend upon t, and notbandwidth; consequently we varied n and set t = b(n+1)/2c,which we determined to be the most expensive value relativeto a particular choice of n. Our aim in choosing sample countswas to ensure each benchmark took five to ten minutes intotal, in order to smooth out artifacts due to transient networkconditions. Our results for setup are reported in Figure 2, andour results for signing are reported in Figure 3.

B. ComparisonWe note that our method only slightly underperforms that of

Doerner et al. [1] for 2-of-n signing, in spite of the fact thatour protocol implements a somewhat stronger functionality.Specifically, we require 9.52 ms, whereas an evaluation of theirprotocol (with no parallelism) in our benchmarking environmentrequires 5.83 ms. In the arbitrary-threshold context, a numberof prior and concurrent works exist. We did not benchmark theirprotocols in our environment, and so no truly fair comparisonis possible. Nevertheless, all of them report benchmarks among2 to 20 LAN-connected parties on hardware broadly similarto our own, and we believe it possible to draw some looseconclusions by comparing their results. We reproduce setupand signing times from a selection of publications in Table ??.

The protocol of Gennaro and Goldfeder [31] appears to bethe fastest prior or concurrent work for signing, although theydo not report benchmarks for their key-generation protocol.

Fig. 3: Wall Clock Times for t-Party Signing over LAN. Note thatall parties reside on individual machines in the same datacenter, andlatency is on the order of a few tenths of a millisecond.

Their benchmarks were perfomed using 3.4 GHz processorsfrom the Intel Skylake family, but they used only a single threadand did not count network costs. In another concurrent work,Lindell and Nof [32] present a different protocol and performbenchmarks using reasonably recent 2.4 GHz processors fromthe Intel Haswell family. Their benchmarks do count networkcosts, but like Gennaro and Goldfeder, they use only a singlethread. Among prior works, the most efficient techniques arethose of Gennaro et al. [10] and Boneh et al. [11] (whoprovide an improved implementation Gennaro et al.’s protocolin addition to developing new techniques). Boneh et al. providebenchmarks for both protocols, with no network costs recorded.In all parameter regimes reported, all prior and concurrentworks are at least one order of magnitude slower than our ownin terms of both key-generation and signing, and in some caseswe improve upon them by two or more orders of magnitude.We stress again that as these benchmarks were not run inidentical environments, they do not constitute a fair comparison.Nevertheless, we do not believe that environmental differencesaccount for the performance discrepancy.

C. WAN Benchmarks

As we have previously noted, our protocol is at a disadvan-tage relative to other approaches in terms of round count. Inorder to demonstrate the practical implications of this fact, weran an additional benchmark in the WAN setting. We chose16 Google datacenters (otherwise known as zones) that offer

Comparison All time figures in milliseconds

Signing Setup Protocol t = 2 t = 20 n = 2 n = 20

This Work 9.5 31.6 45.6 232 GG18 77 509 – –

LNR18 304 5194 ⇠11000 ⇠28000 BGG17 ⇠650 ⇠1500 – – GGN16 205 1136 – –

Lindell17 36.8 – 2435 – DKLs18 3.8 – 43.4 177

Note: Our figures are wall-clock times; includes network costs

Page 145: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

How much of a bottleneck is communication?

Page 146: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

How much of a bottleneck is communication?

• Mobile applications (human-initiated):

Page 147: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

How much of a bottleneck is communication?

• Mobile applications (human-initiated):

- eg. t=4, ~260KB (2.08Mb) transmitted per party

Page 148: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

How much of a bottleneck is communication?

• Mobile applications (human-initiated):

- eg. t=4, ~260KB (2.08Mb) transmitted per party

- Well within LTE envelope (10Mbps) for responsivity

Page 149: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

How much of a bottleneck is communication?

Page 150: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

How much of a bottleneck is communication?

• Large-scale automated distributed signing:

Page 151: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

How much of a bottleneck is communication?

• Large-scale automated distributed signing:

• Threshold 2:

Page 152: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

How much of a bottleneck is communication?

• Large-scale automated distributed signing:

• Threshold 2:

• 3.8ms/sig => ~263 sig/second

Page 153: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

How much of a bottleneck is communication?

• Large-scale automated distributed signing:

• Threshold 2:

• 3.8ms/sig => ~263 sig/second

• Bandwidth required: ~490Mb

Page 154: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

How much of a bottleneck is communication?

• Large-scale automated distributed signing:

• Threshold 2:

• 3.8ms/sig => ~263 sig/second

• Bandwidth required: ~490Mb

• Threshold 20:

Page 155: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

How much of a bottleneck is communication?

• Large-scale automated distributed signing:

• Threshold 2:

• 3.8ms/sig => ~263 sig/second

• Bandwidth required: ~490Mb

• Threshold 20:

• 31.6ms/sig => ~31 sig/second

Page 156: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

How much of a bottleneck is communication?

• Large-scale automated distributed signing:

• Threshold 2:

• 3.8ms/sig => ~263 sig/second

• Bandwidth required: ~490Mb

• Threshold 20:

• 31.6ms/sig => ~31 sig/second

• Bandwidth required: ~200Mb

Page 157: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Future Directions

Page 158: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Future Directions • Constant Round Version based on [BB89] (in progress)

Page 159: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Future Directions • Constant Round Version based on [BB89] (in progress)

• MUL based on Additively Homomorphic Encryption forrestricted bandwidth setting (when lax on assumptions)

Page 160: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Future Directions • Constant Round Version based on [BB89] (in progress)

• MUL based on Additively Homomorphic Encryption forrestricted bandwidth setting (when lax on assumptions)

• Efficient addition/removal parties

Page 161: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Future Directions • Constant Round Version based on [BB89] (in progress)

• MUL based on Additively Homomorphic Encryption forrestricted bandwidth setting (when lax on assumptions)

• Efficient addition/removal parties

• Identifying cheaters

Page 162: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Future Directions • Constant Round Version based on [BB89] (in progress)

• MUL based on Additively Homomorphic Encryption forrestricted bandwidth setting (when lax on assumptions)

• Efficient addition/removal parties

• Identifying cheaters

• Extensive benchmarking in more representative scenarios

Page 163: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Future Directions • Constant Round Version based on [BB89] (in progress)

• MUL based on Additively Homomorphic Encryption forrestricted bandwidth setting (when lax on assumptions)

• Efficient addition/removal parties

• Identifying cheaters

• Extensive benchmarking in more representative scenarios

- eg. smartphones over LTE

Page 164: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Conclusion

Page 165: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Conclusion • Efficient full-threshold ECDSA with fully dist. keygen

Page 166: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Conclusion • Efficient full-threshold ECDSA with fully dist. keygen

• Paradigm: ‘produce candidate shares, verify by exponent check’ to minimize exponentiations

Page 167: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Conclusion • Efficient full-threshold ECDSA with fully dist. keygen

• Paradigm: ‘produce candidate shares, verify by exponent check’ to minimize exponentiations

• Instantiation: Cryptographic assumptions native toECDSA itself (CDH in the same curve)

Page 168: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Conclusion • Efficient full-threshold ECDSA with fully dist. keygen

• Paradigm: ‘produce candidate shares, verify by exponent check’ to minimize exponentiations

• Instantiation: Cryptographic assumptions native toECDSA itself (CDH in the same curve)

• Optimized computation but communication well within practical range (65t KB/party)

Page 169: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Conclusion • Efficient full-threshold ECDSA with fully dist. keygen

• Paradigm: ‘produce candidate shares, verify by exponent check’ to minimize exponentiations

• Instantiation: Cryptographic assumptions native toECDSA itself (CDH in the same curve)

• Optimized computation but communication well within practical range (65t KB/party)

• Wall-clock times: Practical in realistic scenarios

Page 170: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Thank you!

https://gitlab.com/neucrypt/mpecdsa

Page 171: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Component-Wise Comparison

• LNR18 can be instantiated with “ECDSA assumptions”

• Heaviest components of signing (per party):

- LNR18: 2tx2P-MUL + (83 + 78·t) Exponentiations

- This work: 4tx2P-MUL + (5+t) Exponentiations

Page 172: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Check in Exponent 2. [sk/k] and [1/k] are consistent with pk

[ ϕ

⋅ �� − [ ϕ

⋅ ��] ⋅ G = 0 ∑ k ] ki∈[n] i i

Page 173: A Multiparty Computation Approach to Threshold ECDSA€¦ · Threshold ECDSA • Limited schemes based on Paillier encryption: [MacKenzie Reiter 04], [Gennaro Goldfeder Narayanan

Check in Exponent 3. [sk/k] and [1/k] are consistent with R

∑ [ ϕ

k ⋅ ��] ⋅ R = ϕ ⋅ ��

i∈[n] i