Pages:
Author

Topic: Why can't a private key be calculated from its address? - page 2. (Read 3064 times)

legendary
Activity: 1904
Merit: 1005
PGP ID: 78B7B84D
If you watch a video on a pen and paper SHA256 hash, it might become more clear. It's pretty neat.
legendary
Activity: 1302
Merit: 1008
Core dev leaves me neg feedback #abuse #political


And if it's possible to create a non-reversible function, then why didn't they do that with bitcoin?

Basically they did.  (although no one has been able to mathematically PROVE the
existence of one way functions). 

Hashing is a non reversible function.   Think of like this:  You can turn a cow into
hamburgers, but you cannot turn hamburgers into a cow.
legendary
Activity: 1008
Merit: 1001
Let the chips fall where they may.
In his example, it is extremely easy to calculate not just one, but many and all the possible private keys of an address, with nearly the same difficulty of the reverse, it surely doesn't explain bitcoin at all.

Nope, that does explain Bitcoin. Each address represents around 2^96 possible private keys. It is believed to be computationally infeasible to generate a collision.
copper member
Activity: 1498
Merit: 1528
No I dont escrow anymore.
Thanks for the response. I like mathematics but never studied too much of it. I would like to understand in more detail both about functions that can't be reversed and the ones which reversion is much harder than the original,
- snip -

http://arstechnica.com/security/2013/10/a-relatively-easy-to-understand-primer-on-elliptic-curve-cryptography/1/

I hear the young ones like video, so Ill add this: http://media.ccc.de/browse/congress/2014/31c3_-_6369_-_en_-_saal_1_-_201412272145_-_ecchacks_-_djb_-_tanja_lange.html#video
legendary
Activity: 3472
Merit: 4801
Thanks for the response. I like mathematics but never studied too much of it. I would like to understand in more detail both about functions that can't be reversed and the ones which reversion is much harder than the original,
- snip -

http://arstechnica.com/security/2013/10/a-relatively-easy-to-understand-primer-on-elliptic-curve-cryptography/1/
hero member
Activity: 544
Merit: 500
The examples given here are wrong and misleading.

The problem is not that it is not possible to compute the private key, because there is more than one solution (like in the case of abs() or the sum of numbers). The problem is that it is possible, in theory, to compute it, but the computation is so hard that it is practically infeasible.

Do not confuse asymmetrical cryptography with hashes. A hash is impossible to reverse, because many different inputs can result in the same output. (It's just that there is no easy way of finding all of them - or even any one of them.) A private key can be computed from the public one - but it is very, very hard - hard enough to be practically impossible.

For instance, if I ask you what is the product of 31 and 37, the answer is easy - 1147. But if I ask you what are the prime factors of 1147, that's a hard question. The easiest way to answer it is by trial and error - you try to divide 1147 by every prime number smaller than the integer part of its square root until you find a number that divides it exactly (the first such number is 31). When the numbers involved are very large it becomes practically impossible to answer such questions. (With large numbers there are faster methods than trial division, but they are still too slow to be practical.)

The first few explanations gave me a conceptual idea, this explained everything.  Smiley
full member
Activity: 139
Merit: 100
The examples given here are wrong and misleading.

The problem is not that it is not possible to compute the private key, because there is more than one solution (like in the case of abs() or the sum of numbers). The problem is that it is possible, in theory, to compute it, but the computation is so hard that it is practically infeasible.

Do not confuse asymmetrical cryptography with hashes. A hash is impossible to reverse, because many different inputs can result in the same output. (It's just that there is no easy way of finding all of them - or even any one of them.) A private key can be computed from the public one - but it is very, very hard - hard enough to be practically impossible.

For instance, if I ask you what is the product of 31 and 37, the answer is easy - 1147. But if I ask you what are the prime factors of 1147, that's a hard question. The easiest way to answer it is by trial and error - you try to divide 1147 by every prime number smaller than the integer part of its square root until you find a number that divides it exactly (the first such number is 31). When the numbers involved are very large it becomes practically impossible to answer such questions. (With large numbers there are faster methods than trial division, but they are still too slow to be practical.)
full member
Activity: 131
Merit: 100
If computers can calculate an address from its private key, then why can't they do the reverse and calculate a private key from an address?
Not all calculations are reversible. Suppose private keys and address work like this: private keys are long numbers, and addresses are the sum of all digits. Obviously a simplification, but just as an example.

So if you have private key = 134505719542, then you can easily calculate the address: 1+3+4+5+0+5+7+1+9+5+4+2 = 46.

Now I have another address: 43. What's the private key?



Any number of which the digits' sum is 43?

I don' think your example really explains why a btc private key (actually, as far as I know each address has something like 2^100 private keys), can't be calculated from the address.

His example does explain a lot to be honest , I personally got it Wink
Thanks for the information Kazimir , really helpful

~ Madness

In his example, it is extremely easy to calculate not just one, but many and all the possible private keys of an address, with nearly the same difficulty of the reverse, it surely doesn't explain bitcoin at all.
hero member
Activity: 644
Merit: 500
My goal is becaming a billionaire.
If computers can calculate an address from its private key, then why can't they do the reverse and calculate a private key from an address?
Not all calculations are reversible. Suppose private keys and address work like this: private keys are long numbers, and addresses are the sum of all digits. Obviously a simplification, but just as an example.

So if you have private key = 134505719542, then you can easily calculate the address: 1+3+4+5+0+5+7+1+9+5+4+2 = 46.

Now I have another address: 43. What's the private key?



Any number of which the digits' sum is 43?

I don' think your example really explains why a btc private key (actually, as far as I know each address has something like 2^100 private keys), can't be calculated from the address.

His example does explain a lot to be honest , I personally got it Wink
Thanks for the information Kazimir , really helpful

~ Madness
full member
Activity: 131
Merit: 100
If computers can calculate an address from its private key, then why can't they do the reverse and calculate a private key from an address?
Not all calculations are reversible. Suppose private keys and address work like this: private keys are long numbers, and addresses are the sum of all digits. Obviously a simplification, but just as an example.

So if you have private key = 134505719542, then you can easily calculate the address: 1+3+4+5+0+5+7+1+9+5+4+2 = 46.

Now I have another address: 43. What's the private key?



Any number of which the digits' sum is 43?

I don' think your example really explains why a btc private key (actually, as far as I know each address has something like 2^100 private keys), can't be calculated from the address.
full member
Activity: 131
Merit: 100
If computers can calculate an address from its private key, then why can't they do the reverse and calculate a private key from an address?

Because the "trapdoor" functions used in public key cryptography are designed with exactly that property.
In your question, the first implicit assumption is already wrong. If a function can be calculated, it does not necessarily follow that its inverse can be calculated with similar effort or can be calculated at all.
For example, the function "abs" returns the absolute value of its argument. Naturally, its inverse cannot be computed, because you don't know whether the original argument was positive or negative.
Other functions have a defined inverse but it's much harder to compute the inverse than computing the original function. Elliptic curve functions as used in bitcoin belong to this class, as well as the operations on large primes that are used in RSA public key crypto (Pretty Good Privacy).
"Much harder" in this case does not mean "requires a faster computer" but "impossible given the natural laws and available ressources of humankind."

Onkel Paul
Thanks for the response. I like mathematics but never studied too much of it. I would like to understand in more detail both about functions that can't be reversed and the ones which reversion is much harder than the original, where can I read about that?

And if it's possible to create a non-reversible function, then why didn't they do that with bitcoin?
legendary
Activity: 1176
Merit: 1011
If computers can calculate an address from its private key, then why can't they do the reverse and calculate a private key from an address?
Not all calculations are reversible. Suppose private keys and address work like this: private keys are long numbers, and addresses are the sum of all digits. Obviously a simplification, but just as an example.

So if you have private key = 134505719542, then you can easily calculate the address: 1+3+4+5+0+5+7+1+9+5+4+2 = 46.

Now I have another address: 43. What's the private key?

legendary
Activity: 1039
Merit: 1005
If computers can calculate an address from its private key, then why can't they do the reverse and calculate a private key from an address?

Because the "trapdoor" functions used in public key cryptography are designed with exactly that property.
In your question, the first implicit assumption is already wrong. If a function can be calculated, it does not necessarily follow that its inverse can be calculated with similar effort or can be calculated at all.
For example, the function "abs" returns the absolute value of its argument. Naturally, its inverse cannot be computed, because you don't know whether the original argument was positive or negative.
Other functions have a defined inverse but it's much harder to compute the inverse than computing the original function. Elliptic curve functions as used in bitcoin belong to this class, as well as the operations on large primes that are used in RSA public key crypto (Pretty Good Privacy).
"Much harder" in this case does not mean "requires a faster computer" but "impossible given the natural laws and available ressources of humankind."

Onkel Paul
full member
Activity: 131
Merit: 100
If computers can calculate an address from its private key, then why can't they do the reverse and calculate a private key from an address?
Pages:
Jump to: