Skip to content

Polynonce: An ECDSA Attack and Polynomial Dance

Nils AmietMarco Macchetti

Nils Amiet and Marco Macchetti introduce Polynonce, a novel cryptanalytic attack recovering ECDSA private keys from nonce bias across Bitcoin and Ethereum.

Summary

Vulnerabilities in ECDSA Nonce Generation

Elliptic Curve Digital Signature Algorithm (ECDSA) security hinges upon using a perfectly uniform, secret random nonce for every signature generated by a private key.

Introducing the Polynonce Attack

Nils Amiet and Marco Macchetti present Polynonce, a novel algebraic cryptanalysis attack that solves for private keys when nonces are generated by flawed pseudorandom number generators.

Scanning the Bitcoin and Ethereum Blockchains

Applying the Polynonce attack against historical transaction datasets across the Bitcoin and Ethereum public ledgers uncovered dozens of vulnerable wallet addresses.

Open-Source Implementation and Defenses

The authors release open-source verification code and an academic paper, urging developers to adopt RFC 6979 deterministic nonce generation to prevent catastrophic key recovery.

Related talks