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.

1 Answer 1


It's not possible, practically speaking.

A P2PKH Bitcoin address 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.

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

  • 3
    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. May 29, 2021 at 18:39
  • Thank you for the clarification.
    – Rein Ernst
    May 31, 2021 at 8:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.