Changing a private key of a public Bitcoin address

I would like a way to change the private key of a public address, for this you'd of course require the current private key.
Is this at all possible?

I want to prove that it can be done, or prove that it cannot be done.

• Jun 17 '16 at 0:03

It cannot be done.

Every private key has exactly one public key, and every public key has exactly one address (ignoring compressed/uncompressed or normal vs P2SH address, which do not matter here).

• any references, so i can prove it? Jun 16 '16 at 22:24
• I'm under the impression that two private keys can theoretically make the same public key, but I've never seen it. Jun 16 '16 at 22:28
• @fredsbend That is incorrect. There is an isomorphism between the multiplicative group of integers modulo n (to which the private keys belong) and the elliptic curve group (to which the public keys belong). There is provably exactly one point on the curve for every private key. However there are certainly multiple public keys with the same address, although finding them requires finding a hash collision, which is considered computationally infeasible. Jun 16 '16 at 22:38
• @PieterWuille Public keys with the same address. That must be what I'm thinking about. Jun 16 '16 at 22:48
• @fredsbend You might be thinking of public keys with different addresses, which is also possible depending on whether the public key is expressed in compressed format or not. Jun 17 '16 at 14:29

Nope, impossible.

The address is mathematically derived from the public key. The public key is mathematically derived from the private key.

Hence, there is a deterministic relationship tying the address to the private key. Every private key has exactly one address it belongs to.

Therefore, changing the private key will also change the address.