<p>It's not possible, practically speaking.</p>
<p>A <a href="https://en.bitcoinwiki.org/wiki/Pay-to-Pubkey_Hash" rel="nofollow noreferrer">P2PKH Bitcoin address</a> is computed as <code>RIPEMD160(SHA256(publickey))</code>. Since public keys are unique, to find another keypair that results in the same address, you're essentially trying to find a hash collision on SHA256 or RIPEMD160, which is <a href="https://crypto.stackexchange.com/questions/47809/why-havent-any-sha-256-collisions-been-found-yet">extremely difficult</a>.</p>
<p>The most &quot;efficient&quot; way to find such a collision would be to iterate over the entire private key space.</p>

CC BY-SA 4.0
2021-05-29T18:39:46.860Z
Searching for another input that has the same hash as a given input is technically called a "2nd preimage", and it is indeed intractable (needs ~2^160 trials). A collision is something else: namely looking for two inputs that hash to the same thing, without one of the two being given already.
Pieter Wuille
CC BY-SA 4.0
2021-05-31T08:32:33.980Z
Thank you for the clarification.
Rein Ernst
CC BY-SA 4.0
2021-05-29T15:42:49.763Z
2021-05-29T15:48:09.283Z
2021-05-29T15:48:09.283Z
Jonathan LEI
<p>I'm not really well versed in the necessary terminology to get the answer I need from searching.
As I understand, there are 2^160 possible addresses, and 2^256 possible private keys, so each address corresponds to roughly 2^(256-160)=2^96 private keys.</p>
<p>Let's say I generate a key pair and the corresponding address, how would one go about finding other key pairs that correspond to the same address if you already have at least 1 set of keys that generated that address? Is it possible?</p>
<p>Apologies if this has been answered already, I couldn't find the answer I am looking for.</p>

<address><private-key><public-key><address-generation>
Is it possible to find additional key pairs resulting in the same address that I already control?
Rein Ernst
# Is it possible to find additional key pairs resulting in the same address that I already control?

(Asked by: username_0 on 2021-05-29)

I'm not really well versed in the necessary terminology to get the answer I need from searching.
As I understand, there are 2^160 possible addresses, and 2^256 possible private keys, so each address corresponds to roughly 2^(256-160)=2^96 private keys.

Let's say I generate a key pair and the corresponding address, how would one go about finding other key pairs that correspond to the same address if you already have at least 1 set of keys that generated that address? Is it possible?

Apologies if this has been answered already, I couldn't find the answer I am looking for.

**Tags:** address, private-key, public-key, address-generation


---

## 1 answers

### Answer by username_1 on 2021-05-29. Score: 2 | Accepted answer

It's not possible, practically speaking.

A [P2PKH Bitcoin address](https://en.bitcoinwiki.org/wiki/Pay-to-Pubkey_Hash) is computed as `RIPEMD160(SHA256(publickey))`. Since public keys are unique, to find another keypair that results in the same address, you're essentially trying to find a hash collision on SHA256 or RIPEMD160, which is [extremely difficult](https://crypto.stackexchange.com/questions/47809/why-havent-any-sha-256-collisions-been-found-yet).

The most "efficient" way to find such a collision would be to iterate over the entire private key space.

> **Comments:**
> **username_2**: Searching for another input that has the same hash as a given input is technically called a "2nd preimage", and it is indeed intractable (needs ~2^160 trials). A collision is something else: namely looking for two inputs that hash to the same thing, without one of the two being given already.  
> **username_0**: Thank you for the clarification.  

---

