BitNerd (OP)
|
|
January 31, 2015, 11:04:04 AM |
|
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?
|
|
|
|
OnkelPaul
Legendary
Offline
Activity: 1039
Merit: 1004
|
|
January 31, 2015, 11:17:33 AM |
|
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
|
|
|
|
Kazimir
Legendary
Offline
Activity: 1176
Merit: 1003
|
|
January 31, 2015, 11:23:06 AM |
|
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?
|
|
|
|
BitNerd (OP)
|
|
January 31, 2015, 11:25:56 AM |
|
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?
|
|
|
|
BitNerd (OP)
|
|
January 31, 2015, 11:27:31 AM |
|
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.
|
|
|
|
Madness
|
|
January 31, 2015, 11:40:39 AM |
|
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 Thanks for the information Kazimir , really helpful ~ Madness
|
|
|
|
BitNerd (OP)
|
|
January 31, 2015, 11:53:41 AM |
|
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 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.
|
|
|
|
Vessko
|
|
January 31, 2015, 11:59:10 AM |
|
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.)
|
|
|
|
Bitcoinexp
|
|
January 31, 2015, 12:15:14 PM |
|
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.
|
|
|
|
|
shorena
Copper Member
Legendary
Offline
Activity: 1498
Merit: 1520
No I dont escrow anymore.
|
|
January 31, 2015, 04:50:34 PM |
|
|
Im not really here, its just your imagination.
|
|
|
phillipsjk
Legendary
Offline
Activity: 1008
Merit: 1001
Let the chips fall where they may.
|
|
January 31, 2015, 06:32:09 PM |
|
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.
|
James' OpenPGP public key fingerprint: EB14 9E5B F80C 1F2D 3EBE 0A2F B3DE 81FF 7B9D 5160
|
|
|
jonald_fyookball
Legendary
Offline
Activity: 1302
Merit: 1004
Core dev leaves me neg feedback #abuse #political
|
|
January 31, 2015, 08:24:05 PM |
|
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.
|
|
|
|
miffman
Legendary
Offline
Activity: 1904
Merit: 1005
PGP ID: 78B7B84D
|
|
January 31, 2015, 11:13:04 PM |
|
If you watch a video on a pen and paper SHA256 hash, it might become more clear. It's pretty neat.
|
█ █ █ █ █ █ █ █ █ █ █ █
|
█ █ █ █ █ █ █ █ █ █ █
| | BitBlender |
█ █ █ █ █ █ █ █ █ █ █ █
|
█ █ █ █ █ █ █ █ █ █ █ █
| |
█ █ █ █ █ █ █ █ █ █ █
| █ █ █ █ █ █ █ █ █ █ █
| |
|
|
|
|
RawDog
Legendary
Offline
Activity: 1596
Merit: 1026
|
|
January 31, 2015, 11:25:32 PM |
|
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 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. Stupid people should just be happy with the fact that we let them remain here with us on Earth and they get to benefit from all the smart people who make cool shit. BitNerd, Don't try to figure out math. You are annoying the numbers.
|
|
|
|
BusyBeaverHP
|
|
February 01, 2015, 06:53:14 AM Last edit: February 01, 2015, 08:01:35 AM by BusyBeaverHP |
|
I tried to watch the video, and I gotta say, it was extremely IRRITATING to have the math-intensive lecture slides dissapear at the WORST possible timing to only cut to the lecturer in person. What. The. Fuck. Whoever edited the video needs to be stuffed into a cannon and shot. What is supposed to be an informative learning video is ruined by moronic decision making that killed my concentration.
|
|
|
|
Nagle
Legendary
Offline
Activity: 1204
Merit: 1000
|
|
February 01, 2015, 08:28:33 AM |
|
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. Trapdoor functions are invertible; the question is how hard they are to invert. There's a long history of crypto functions which were thought to be too hard to solve, but were solved. Sometimes by advances in mathematics, sometimes by sheer computational power, and sometimes by a combination of the two. The ones used for Bitcoin are generally considered strongly resistant to solution, and they're functions which have been examined thoroughly. But SHA-1 and DES were once thought to be highly resistant, too. Now they're routinely solved.
|
|
|
|
bitbaby
|
|
February 01, 2015, 08:37:31 AM |
|
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. It was a simple example just to understand how difficult it would be determine the key from an address, hence the emphasis on 'suppose', he never implied that it was the concept the bitcoin address generation is based on.
|
|
|
|
shorena
Copper Member
Legendary
Offline
Activity: 1498
Merit: 1520
No I dont escrow anymore.
|
|
February 01, 2015, 08:49:17 AM |
|
I tried to watch the video, and I gotta say, it was extremely IRRITATING to have the math-intensive lecture slides dissapear at the WORST possible timing to only cut to the lecturer in person. What. The. Fuck. Whoever edited the video needs to be stuffed into a cannon and shot. What is supposed to be an informative learning video is ruined by moronic decision making that killed my concentration. Its a live capture from the conference, the editing was done on the fly and frankly: yes it sucks for many videos.
|
Im not really here, its just your imagination.
|
|
|
BitNerd (OP)
|
|
February 01, 2015, 09:57:04 AM |
|
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. But all of the 2^96 possible private keys of an address work, don't they? Or only one works?
|
|
|
|
|