Author

Topic: Changing a private key of a public address (Read 624 times)

legendary
Activity: 3472
Merit: 4801
June 16, 2016, 06:29:24 PM
#17


Technically each bitcoin address has on average 7.9 X 1028 different private keys that will all result in the exact same address.

can you point me to where you got this information from. thank you.

A private key is a random 256 bit number between 1 and 115792089237316195423570985008687907852837564279074904382605163141518161494336 when represented in decimal

or in hexadecimal represented as a number between 0x1 and 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364140

This information can be found here:
https://en.bitcoin.it/wiki/Private_key

As a reasonable approximation, lets use 1.158 X 1077.



A version 1 bitcoin address is a RIPEMD160 hash with a prepended version number, and an appended checksum.  This information can be found here:
https://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addresses

The result of a RIPEMD-160 hash is a 160 bit number between 1 and 1461501637330902918203684832716283019655932542976

This information can be found here:
https://en.wikipedia.org/wiki/RIPEMD

As an approximation, lets use 1.46 X 1048



Simple mathematics indicates that if there are 1.158 X 1077 unique private keys possible, and only 1.46 X 1048 unique version 1 addresses possible, then there are an average of:

(1.158 X 1077) / (1.46 X 1048) = 7.9 X 1028 private keys per address.
aws
full member
Activity: 219
Merit: 100


Technically each bitcoin address has on average 7.9 X 1028 different private keys that will all result in the exact same address.

can you point me to where you got this information from. thank you.
aws
full member
Activity: 219
Merit: 100


Based on your prior postings, it is clear you just bought this account.
Your statement to prove or disprove private key collision is very telling of that.

Do me a favor, when you disprove it send me a PM.  Roll Eyes


How did you arrive at that conclusion?

I will share my findings
legendary
Activity: 1092
Merit: 1001

This is not how elliptical curve cryptography works. Knowing one private key does not make it practically easier to find another private key that collides to the same public key.

thank you, any references to point me in that direction
i want to either prove that it can be done, or prove that it cannot be done

Lol, do a google search.

Based on your prior postings, it is clear you just bought this account.
Your statement to prove or disprove private key collision is very telling of that.

Do me a favor, when you disprove it send me a PM.  Roll Eyes
aws
full member
Activity: 219
Merit: 100

This is not how elliptical curve cryptography works. Knowing one private key does not make it practically easier to find another private key that collides to the same public key.

thank you, any references to point me in that direction
i want to either prove that it can be done, or prove that it cannot be done
sr. member
Activity: 1078
Merit: 270
The ability to change a private key would comprise everyone.

It is impossible.
donator
Activity: 1617
Merit: 1012
No. If that could be done then none of us would own bitcoin.

think about your statement.
I said that one of the inputs would be the current private key that only you should know

This is not how elliptical curve cryptography works. Knowing one private key does not make it practically easier to find another private key that collides to the same public key.
sr. member
Activity: 294
Merit: 250
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?

Why is this useful you ask?
Untraceable transfer of bitcoins.
Why would we want that you ask?
Financial privacy.

Would love to hear from those who have something meaningful to contribute  Smiley


It is not known to be possible as others said above, but if you end up with the same public address, how it provide untraceability and financial privacy when only the owner of current private key can find different private key colliding with the same public address? It just dont help a bit if it is known method, and if only you know how to do it, it would be big surprise collision ever happened - if anybody noticed, thats it.
legendary
Activity: 1092
Merit: 1001
No. If that could be done then none of us would own bitcoin.

think about your statement.
I said that one of the inputs would be the current private key that only you should know

Not to get into some argument, but you did not mention that the private key is an input.
So, in that context, what exactly are you even requesting clarification on?

You want two private keys that individually correspond to one address,
but the first private key is the input for the second private key?
legendary
Activity: 3472
Merit: 4801
danny hamilton is half right on this one.

there can be more then 1 private key to a single bitcoin address.. but it is most definetly practically impossible to find another key that hashes to the same address.
- snip -

Franky is correct, my answer was based on the assumption that you wanted a practical answer to your question and not a technical one.

Technically each bitcoin address has on average 7.9 X 1028 different private keys that will all result in the exact same address.

Unfortunately, with nearly 1.158 X 1077 different possible private keys to check, you'd have a 1 in 1.46 X 1048 chance of any private key that you check resulting in the same address.  If each of the 7 billion people on the earth had the time and resources to ALL check a billion possible private keys per second, it would take about 6.62 X 1022 years to check 1.46 X 1048 private keys.
aws
full member
Activity: 219
Merit: 100
No. If that could be done then none of us would own bitcoin.

think about your statement.
I said that one of the inputs would be the current private key that only you should know
legendary
Activity: 4424
Merit: 4794
danny hamilton is half right on this one.

there can be more then 1 private key to a single bitcoin address.. but it is most definetly practically impossible to find another key that hashes to the same address. even if you started today making 1000 keys a second and checking if they result in the same address.. you would be having to hand your project down your lineage to your great great great great great great great great great great great great great great great great great great grandchildren, and even they would still not have got a result yet

https://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addresses
Quote
Collisions (lack thereof)

Since Bitcoin addresses are basically random numbers, it is possible, although extremely unlikely, for two people to independently generate the same address. This is called a collision. If this happens, then both the original owner of the address and the colliding owner could spend money sent to that address. It would not be possible for the colliding person to spend the original owner's entire wallet (or vice versa). If you were to intentionally try to make a collision, it would currently take 2^107 times longer to generate a colliding Bitcoin address than to generate a block. As long as the signing and hashing algorithms remain cryptographically strong, it will likely always be more profitable to collect generations and transaction fees than to try to create collisions.

It is more likely that the Earth is destroyed in the next 5 seconds, than that a collision occur in the next millenium.
legendary
Activity: 3472
Merit: 4801
Question:
Since I am not a cryptographer and my cryptography classes gave me killer headaches, this question may have an obvious answer that i am not aware of.
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?

Why is this useful you ask?
Untraceable transfer of bitcoins.
Why would we want that you ask?
Financial privacy.

Would love to hear from those who have something meaningful to contribute  Smiley

Addresses don't actually exist at the protocol level.  Addresses are just an easy way for us humans to exchange a standard set of output script requirements.

The typical single key (pay-to-pubkey-hash) addresses that start with a 1 have exactly 1 private key associated with them.  The public key is calculated from the private key using elliptic curve point multiplication, so asking if you could have a different private key is a bit like asking if you could raise 7 to some power other than 3 and still get an answer of 343.  It simply isn't mathematically possible.

On the other hand, there are also pay-to-script-hash addresses that start with a 3.  These addresses can set up requirements of one (or more) signatures from a set of many different private keys.  In that case, you would have a list of several private keys that would all be able to spend an output that was sent to the address.
legendary
Activity: 1232
Merit: 1002
You can always send them to an address that will never be used again ... Or you can exchange them to monero(xmr) and then use the anonymous transaction from monero, sell the monero you've got and then send the BTC to a new address you own, there are some costs in this operation, but at least you do t have to trust a mixer and pay a fee for the service, you only pay exchange fees!
legendary
Activity: 1092
Merit: 1001
In theory, there could be multiple private key combinations that could correspond to a single public address.

But the probability of that happening in the wild is extremely small, and if you attempted to do it purposefully
you will never be able to find two private keys that correspond to a single address.

As stated by RodeoX, if it was easy and reasonably do-able then Bitcoin/bitcoin has failed.
legendary
Activity: 3066
Merit: 1147
The revolution will be monetized!
No. If that could be done then none of us would own bitcoin.
aws
full member
Activity: 219
Merit: 100
Question:
Since I am not a cryptographer and my cryptography classes gave me killer headaches, this question may have an obvious answer that i am not aware of.
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?

Why is this useful you ask?
Untraceable transfer of bitcoins.
Why would we want that you ask?
Financial privacy.

Would love to hear from those who have something meaningful to contribute  Smiley
Jump to: