cyberchef_ecdsa_recover
Recover an ECDSA private key from two signatures that reused a nonce (shared r). Computes candidate keys using exact algebra and returns up to two candidates for verification.
Instructions
Recover an ECDSA private key from two signatures that reused a nonce, detected by a shared r. Exact algebra, not a search: k = (z1-z2)/(s1±s2), d = (s1·k - z1)/r. Returns up to TWO candidates, because a shared r means the nonce was k or n-k and the pair cannot choose between them without the public key -- low-S normalisation makes that common. The four ECDSA operations all work on ONE signature and nothing compares two, which is where ECDSA actually fails — the PS3 firmware key and the 2013 Android Bitcoin thefts were both this. Does NOT attack merely biased nonces; that needs a lattice and is not implemented.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| curve | No | The curve the signatures are over. Only its order `n` is used, so this must be right — a wrong curve produces a plausible number that verifies against nothing. | secp256k1 |
| signatures | Yes | Two or more signatures over the same key. Every pair sharing an `r` is reported. |