Cryptology ePrint Archive: Report 2019/023

Biased Nonce Sense: Lattice Attacks against Weak ECDSA Signatures in Cryptocurrencies

Joachim Breitner and Nadia Heninger

Abstract: In this paper, we compute hundreds of Bitcoin private keys and dozens of Ethereum, Ripple, SSH, and HTTPS private keys by carrying out cryptanalytic attacks against digital signatures contained in public blockchains and Internet-wide scans. The ECDSA signature algorithm requires the generation of a per-message secret nonce. If this nonce is not generated uniformly at random, an attacker can potentially exploit this bias to compute the long-term signing key. We use a lattice-based algorithm for solving the hidden number problem to efficiently compute private ECDSA keys that were used with biased signature nonces due to multiple apparent implementation vulnerabilities.

Category / Keywords: public-key cryptography / Hidden number problem, ECDSA, Lattices, Bitcoin, Crypto

Original Publication (in the same form): Financial Cryptography and Data Security 2019

Date: received 8 Jan 2019, last revised 30 Apr 2019

Contact author: nadiah at cs ucsd edu

Available format(s): PDF | BibTeX Citation

Version: 20190430:203938 (All versions of this report)

Short URL:

[ Cryptology ePrint archive ]