Skip to main content

An Efficient Two-Party ECDSA Scheme for Cryptocurrencies

  • Conference paper
  • First Online:
Information Systems Security (ICISS 2023)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 14424))

Included in the following conference series:

  • 429 Accesses

Abstract

Threshold signatures have emerged as a promising solution to secure cryptocurrencies. While some signature algorithms like Schnorr, BLS, EdDSA are threshold-friendly, the structure of ECDSA makes it challenging to construct such schemes. As such the known threshold ECDSA schemes use complex zero-knowledge proofs. However, these impact their performance negatively. Further, these schemes have attempted to achieve efficiency in signature computation part while accepting complexity in the key generation. To be more specific, in the known 2-of-2 schemes the two parties need to perform key generation together to be able to run signature computation. In this work, we propose an efficient two-party ECDSA protocol that enables two parties to “aggregate” their ECDSA signature (on a single message) without participating in any kind of key generation process. Our protocol is based on additive sharing of (ECDSA) private keys and homomorphic properties of Paillier encryption. All the zero-knowledge proof we use are non-interactive. As a result, our key generation is 7x faster than state-of-the-art. In terms of overall time complexity, our scheme is comparable with state of the art 2-of-2 ECDSA scheme.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 59.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 79.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Replace key shares with new random ones such that the public key remains the same.

  2. 2.

    Partially Homomorphic Encryption using Alice Paillier keys.

References

  1. Aumasson, J.-P., Hamelink, A., Shlomovits, O.: A survey of ECDSA threshold signing. IACR Cryptol. ePrint Arch. 2020, 1390 (2020)

    Google Scholar 

  2. Aumasson, J.P., Shlomovits, O.: Attacking threshold wallets. Cryptology ePrint Archive, Report 2020/1052 (2020). https://ia.cr/2020/1052

  3. Canetti, R., Gennaro, R., Goldfeder, S., Makriyannis, N., Peled, U.: UC non-interactive, proactive, threshold ECDSA with identifiable aborts. Cryptology ePrint Archive, Paper 2021/060 (2021). https://eprint.iacr.org/2021/060

  4. Castagnos, G., Catalano, D., Laguillaumie, F., Savasta, F., Tucker, I.: Two-party ECDSA from hash proof systems and efficient instantiations. Cryptology ePrint Archive, Paper 2019/503 (2019). https://eprint.iacr.org/2019/503

  5. Castagnos, G., Catalano, D., Laguillaumie, F., Savasta, F., Tucker, I.: Bandwidth-efficient threshold EC-DSA revisited: Online/offline extensions, identifiable aborts, proactivity and adaptive security. Cryptology ePrint Archive, Paper 2021/291 (2021). https://eprint.iacr.org/2021/291

  6. Chainalysis. https://blog.chainalysis.com/reports/2022-crypto-crime-report-introduction/. Accessed 9 Feb 2022

  7. Cramer, R., Damgård, I., Nielsen, J.B.: Multiparty computation from threshold homomorphic encryption. In: Pfitzmann, B. (ed.) EUROCRYPT 2001. LNCS, vol. 2045, pp. 280–300. Springer, Heidelberg (2001). https://doi.org/10.1007/3-540-44987-6_18

    Chapter  Google Scholar 

  8. Damgård, I., Jakobsen, T.P., Nielsen, J.B., Pagter, J.I., Østergaard, M.B.: Fast threshold ECDSA with honest majority. In: Galdi, C., Kolesnikov, V. (eds.) SCN 2020. LNCS, vol. 12238, pp. 382–400. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-57990-6_19

    Chapter  Google Scholar 

  9. Doerner, J., Kondi, Y., Lee, E., Shelat, A.: Secure two-party threshold ECDSA from ECDSA assumptions. In: 2018 IEEE Symposium on Security and Privacy (SP), pp. 980–997 (2018)

    Google Scholar 

  10. Fiat, A., Shamir, A.: How to prove yourself: practical solutions to identification and signature problems. In: Odlyzko, A.M. (ed.) CRYPTO 1986. LNCS, vol. 263, pp. 186–194. Springer, Heidelberg (1987). https://doi.org/10.1007/3-540-47721-7_12

    Chapter  Google Scholar 

  11. Gennaro, R., Goldfeder, S.: Fast multiparty threshold ECDSA with fast trustless setup. In: Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security, pp. 1179–1194 (2018)

    Google Scholar 

  12. Gennaro, R., Goldfeder, S.: One round threshold ECDSA with identifiable abort. IACR Cryptol. ePrint Arch. 2020, 540 (2020)

    Google Scholar 

  13. Gennaro, R., Goldfeder, S., Narayanan, A.: Threshold-optimal DSA/ECDSA signatures and an application to bitcoin wallet security. In: Manulis, M., Sadeghi, A.-R., Schneider, S. (eds.) ACNS 2016. LNCS, vol. 9696, pp. 156–174. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-39555-5_9

    Chapter  MATH  Google Scholar 

  14. Goldwasser, S., Micali, S., Rivest, R.L.: A digital signature scheme secure against adaptive chosen-message attacks. SIAM J. Comput. 17(2), 281–308 (1988)

    Article  MathSciNet  MATH  Google Scholar 

  15. Hazay, C., Mikkelsen, G.L., Rabin, T., Toft, T.: Efficient RSA key generation and threshold Paillier in the two-party setting. In: Dunkelman, O. (ed.) CT-RSA 2012. LNCS, vol. 7178, pp. 313–331. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-27954-6_20

    Chapter  MATH  Google Scholar 

  16. Hoffman, P., Wijngaards, W.C.: Elliptic curve digital signature algorithm (DSA) for DNSSEC. RFC 6605, 1–8 (2012)

    Google Scholar 

  17. Itakura, K., Nakamura, K.: A public-key cryptosystem suitable for digital multisignatures. NEC Res. Dev. 71, 1–8 (1983)

    Google Scholar 

  18. Johnson, D., Menezes, A., Vanstone, S.A.: The elliptic curve digital signature algorithm (ECDSA). Int. J. Inf. Sec. 1(1), 36–63 (2001)

    Article  Google Scholar 

  19. Lindell, Y.: Fast secure two-party ECDSA signing. In: Katz, J., Shacham, H. (eds.) CRYPTO 2017. LNCS, vol. 10402, pp. 613–644. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-63715-0_21

    Chapter  Google Scholar 

  20. Lindell, Y., Nof, A.: Fast secure multiparty ECDSA with practical distributed key generation and applications to cryptocurrency custody. In: Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security (2018)

    Google Scholar 

  21. MacKenzie, P., Reiter, M.K.: Two-party generation of DSA signatures. In: Kilian, J. (ed.) CRYPTO 2001. LNCS, vol. 2139, pp. 137–154. Springer, Heidelberg (2001). https://doi.org/10.1007/3-540-44647-8_8

    Chapter  Google Scholar 

  22. Wood, G., et al.: Ethereum: a secure decentralised generalised transaction ledger. Ethereum Proj. Yellow Pap. 151(2014), 1–32 (2014)

    Google Scholar 

  23. Xue, H., Au, M.H., Xie, X., Yuen, T.H., Cui, H.: Efficient online-friendly two-party ECDSA signature. In: Proceedings of the 2021 ACM SIGSAC Conference on Computer and Communications Security, pp. 558–573 (2021)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Habeeb Syed .

Editor information

Editors and Affiliations

Appendices

Appendix 1. Elliptic Curve Digital Signature Algorithm

The ECDSA algorithm is parameterized by a group \(\mathcal {G} \) of order q generated by a point \(\texttt{G} \) on an elliptic curve over the finite field \(\mathbb {Z}_q\) of integers modulo a prime q. The curve coordinates and scalars are represented in \(\kappa = |q|\) bits, which is also the security parameter. The algorithm makes use of a hash function which we denote by \(\texttt{HASH} \). The ECDSA scheme consists of the following algorithms:

  • KeyGen: The key generation algorithm consists of the following steps:

    • Select private-key: \(a \xleftarrow {\$} {\mathbb {Z}_q}\)

    • Compute public-key as the point (on \(\mathcal {G} \)) given by \(A = a\cdot \texttt{G} \).

  • Sig: The signature generation algorithm takes as input a message \(\texttt{M} \) and computes the signature as below:

    • Hash \(\texttt{M} \) onto \({\mathbb {Z}_q}\): \(m \longleftarrow \texttt{HASH} (\texttt{M})\).

    • Generate nonce: \(k \xleftarrow {\$} {\mathbb {Z}_q}\).

    • Compute \(k \cdot \texttt{G} = R = (x_R, y_R, 1)\) and set \(r = x_R \pmod q\).

    • Set: .

    • Output \(\sigma =(r, \textbf{s})\) as a signature on \(\texttt{M} \)

  • Ver: The signature verification algorithm takes as input a message \(\texttt{M} \) and signature \(\sigma =(r,\textbf{s})\) and verifies it as below:

    • Compute

    • Obtain hash of \(\texttt{M} \): \(m \longleftarrow \texttt{HASH} (\texttt{M})\).

    • Set (which simplifies to \(k \texttt{G} \))

    • If \(x_{R'} = r\) then return ‘signature valid’ else return ‘signature not valid’.

Appendix 2. NIZK Proof of Knowledge of Plaintext using Paillier Encryption

We use a NIZK protocol from [7] to prove knowledge of plaintexts \(X_1\) and \(X_2\) in zero knowledge, in Sect. 3.3, under ThreshSig algorithm. The following \(\sum \)-protocol provides a non-interactive ZKP that the prover has knowledge of the plaintext without revealing the plaintext to the approver. Let the input encryption be \(C_1=X_1\cdot G+N\cdot r\mod N^2\), where \(X_1\) is encrypted using randomness r. The proof proceeds as below:

  1. 1.

    Prover P chooses \(x\in \mathbb {Z}_N\), \(u\in \mathbb {Z}_{N^2}^*\) at random and computesthefollowing and sends to the verifier:

    $$\begin{aligned} A=x\cdot G +N\cdot u \mod N^2 \end{aligned}$$
  2. 2.

    The verifier picks a random challenge e and sends to the prover P.

  3. 3.

    The prover P computes the following and sends to the verifier:

    $$\begin{aligned} w=x+eX_1 \mod N,\ z=u+e\cdot r \mod N^2 \end{aligned}$$
  4. 4.

    The verifier checks the following:

    $$\begin{aligned} w\cdot G+N\cdot z {\mathop {=}\limits ^{?}} A+e\cdot C_1\mod N^2 \end{aligned}$$

    The verifier accepts the proof if and only if the above check passes.

    The above \(\sum \) protocol proves knowledge of \(X_1,r\) such that \(C_1=X_1\cdot G+N\cdot r\). A similar protocol is run to prove the knowledge of the plaintext \(X_2\) for ciphertext \(C_2\) with zero knowledge.

Appendix 3. Schnorr’s ZKP for Discrete Log

We give a zero-knowledge proof of discrete logarithm [10] given as input the description of a prime-order group \(\mathbb {G}\) of order q and a generator G, and a group element h. The prover has a witness a value \(x\in \mathbb {Z}_q\) such that \(x\cdot G=h\). The proof of discrete log without revealing the logarithm value proceeds as below:

  1. 1.

    Prover P picks \(r\in \mathbb {Z}_q\), computes the value \(\rho =r\cdot G\) and \(e= \texttt{HASH} (\rho ,G,h)\).

  2. 2.

    Next, it computes \(d=e\cdot x +r \mod q\) and sends \((d,\rho ,h)\) to the verifier.

  3. 3.

    The verifier computes \(f=\texttt{HASH} (\rho , G,h)\) and accepts the proof if and only if the following check is satisfied:

    $$\begin{aligned} d\cdot P{\mathop {=}\limits ^{?}} f\cdot h +\rho \end{aligned}$$

The protocol proves the verifier that the prover knows the discrete log of h in zero knowledge.

Rights and permissions

Reprints and permissions

Copyright information

© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Syed, H., Paul, A., Singh, M., Rajan, M. (2023). An Efficient Two-Party ECDSA Scheme for Cryptocurrencies. In: Muthukkumarasamy, V., Sudarsan, S.D., Shyamasundar, R.K. (eds) Information Systems Security. ICISS 2023. Lecture Notes in Computer Science, vol 14424. Springer, Cham. https://doi.org/10.1007/978-3-031-49099-6_25

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-49099-6_25

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-49098-9

  • Online ISBN: 978-3-031-49099-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics