Bitcoin Forum
April 30, 2024, 10:27:44 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Does 'X' public address always have 'Y' private key?  (Read 1626 times)
BTCIndia (OP)
Hero Member
*****
Offline Offline

Activity: 686
Merit: 500

vini, vedi, no vici.


View Profile
July 24, 2014, 02:03:09 PM
 #1

No description! Grin
If you understand the question then only, I'd consider your answer right. Tongue

He's Nick Sazbo from Washington. I've my answer. Or Hal? :O
1714472864
Hero Member
*
Offline Offline

Posts: 1714472864

View Profile Personal Message (Offline)

Ignore
1714472864
Reply with quote  #2

1714472864
Report to moderator
"I'm sure that in 20 years there will either be very large transaction volume or no volume." -- Satoshi
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714472864
Hero Member
*
Offline Offline

Posts: 1714472864

View Profile Personal Message (Offline)

Ignore
1714472864
Reply with quote  #2

1714472864
Report to moderator
1714472864
Hero Member
*
Offline Offline

Posts: 1714472864

View Profile Personal Message (Offline)

Ignore
1714472864
Reply with quote  #2

1714472864
Report to moderator
Cortex7
Full Member
***
Offline Offline

Activity: 238
Merit: 106


View Profile
July 24, 2014, 02:15:33 PM
 #2

A public address X will map to a private Key Y

RIPEMD-160(SHA-256(Y))  =  X

Some addresses (X) will have multiple (Y) that will work due to "collisions" in the hash algorithm.

RIPEMD-160(SHA-256(Y  ))  =  X
RIPEMD-160(SHA-256(Y1))  =  X
RIPEMD-160(SHA-256(Y2))  =  X
... maybe more

The chances of finding/generating these collisions is astranomically small, maybe some other member might know the actual chances?
subvolatil
Hero Member
*****
Offline Offline

Activity: 546
Merit: 501


Cypherpunk and full-time CryptoAnarchist


View Profile
July 25, 2014, 05:02:09 PM
 #3

No description! Grin
If you understand the question then only, I'd consider your answer right. Tongue

Yes a single ECDSA Public key correspondences to a privite key this is due to the Elliptic property using finite field and point addition. makes it unique. 

However after the Key is hashed to a base58 i do have my skepticism, as probability of collision is possible but that would be like getting hit by a lightning sitting in a Faraday cage.  (Note i have not looked into this probability, just my assumption)

amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
August 13, 2014, 03:51:59 PM
 #4

there are ~2^256 private keys
and only 2^160 addresses

so, there are about 2^96 private keys for each address.
BitCoinDream
Legendary
*
Offline Offline

Activity: 2324
Merit: 1204

The revolution will be digital


View Profile
August 13, 2014, 08:53:17 PM
 #5

there are ~2^256 private keys
and only 2^160 addresses

so, there are about 2^96 private keys for each address.

OMG !!! Is it so ? I can transfer a fund out of an address using 2^96 private keys ?

Cortex7
Full Member
***
Offline Offline

Activity: 238
Merit: 106


View Profile
August 13, 2014, 11:10:18 PM
Last edit: August 14, 2014, 03:37:38 AM by Cortex7
 #6

there are ~2^256 private keys
and only 2^160 addresses

so, there are about 2^96 private keys for each address.

OMG !!! Is it so ? I can transfer a fund out of an address using 2^96 private keys ?

No, only a modest number >= 1 out of the 2^256 priv keys will map to any given public key address.

The fact that multiple will map is due to "collisions" in the hash func.
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
August 14, 2014, 03:29:16 AM
 #7

No, only a modest number >= 1 out of the 2^256 priv keys will map to any given public key.
We do not need to match public key! And it is not "given" to us by funding transaction!.
Funding transaction gives us 20-byte address which is "somefunc (privkey)"
And we have 32-byte space to find privkeys.

Quote
OMG !!! Is it so ? I can transfer a fund out of an address using 2^96 private keys ?
In average.
But it is quite difficult to find a privkey which will converts to the given address Smiley
Cortex7
Full Member
***
Offline Offline

Activity: 238
Merit: 106


View Profile
August 14, 2014, 03:39:09 AM
Last edit: August 14, 2014, 02:22:05 PM by Cortex7
 #8

We do not need to match public key! And it is not "given" to us by funding transaction!.
Funding transaction gives us 20-byte address which is "somefunc (privkey)"
And we have 32-byte space to find privkeys.

yes, I corrected my above post.

but just to make clear:

Quote
transfer a fund out of an address using 2^96 private keys

no, the number of private keys that will unlock any given public address is MUCH less than 2^96

I don't know the average number, somebody probably does though?
maurya78
Hero Member
*****
Offline Offline

Activity: 490
Merit: 500


View Profile
August 14, 2014, 06:13:57 AM
 #9

Yes, the property of collision resitance means there will only be one private key that maps to any particular public key

amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
August 14, 2014, 06:42:49 AM
 #10

Quote
no, the number of private keys that will unlock any given public address is MUCH less than 2^96
I don't know the average number, somebody probably does though?
Why?
There are ~2^256 private keys
The address is some kind of hash function of private key
So we do a map from 2^256 values to 2^160 hashes
If the hash function is really good - we will receive the same hash value for ~2^96 different private keys (sometimes slightly more, sometimes slightly less)
Cortex7
Full Member
***
Offline Offline

Activity: 238
Merit: 106


View Profile
August 14, 2014, 01:21:53 PM
Last edit: August 14, 2014, 02:21:00 PM by Cortex7
 #11

Quote
no, the number of private keys that will unlock any given public address is MUCH less than 2^96
I don't know the average number, somebody probably does though?
Why?
There are ~2^256 private keys
The address is some kind of hash function of private key
So we do a map from 2^256 values to 2^160 hashes
If the hash function is really good - we will receive the same hash value for ~2^96 different private keys (sometimes slightly more, sometimes slightly less)

Hmmmm... I see what you are saying, sorry for my prior misunderstanding amaclin Tongue

Of course! There are only 160 bits of public addresses space.

To understand with an extreme example: If there were only 2 bits of address space then only 4 possible public addresses, and of course no matter what hash func you apply to 256 bits, it would have to reduce down to 1 of those 4 public addresses. So in this example you could hash any random 256 bit privkey and ~ 1 in 4 times hit a winner.

=========================

So I stand corrected:

On average ~2^96 private keys will unlock any single address.  Shocked

The effective privkey space one needs to search is "only"  ~2^160 before you get a hit on average. Perhaps a few bits less due to collisions.

But it's not like we can just chop off 96 bits from privkey space before we search, valid privkeys will be scattered "randomly" throughout the 256 bit space.

=========================

And lets think of some ways to increase the chances of unlocking some coin:

One could check against the list of the richest 2^16 (64k) addresses, further reducing the number of hashes required to 144 bits.

With average luck you would hit jackpot when ~50% through search, so 1 bit less = 143 bits.

To try 2^143 hashes at 10TH/s ~=
35,357,599,566,417,147,294,418 Years.

Universe age ~=
13,798,000,000 years

So still very safe against logical brute force attack.


Cortex7
Full Member
***
Offline Offline

Activity: 238
Merit: 106


View Profile
August 14, 2014, 02:24:57 PM
 #12

Yes, the property of collision resitance means there will only be one private key that maps to any particular public key

Wrong (same as I was)

Even with a perfect hash function that has no collisions:

~2^96 private keys will map to a given public address.
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
August 14, 2014, 02:30:46 PM
 #13

Quote
Hmmmm... I see what you are saying, sorry for my prior misunderstanding amaclin Tongue

Sorry. My English is much worse than my math skills  Grin
Cortex7
Full Member
***
Offline Offline

Activity: 238
Merit: 106


View Profile
August 14, 2014, 02:35:32 PM
Last edit: August 14, 2014, 04:42:52 PM by Cortex7
 #14

Quote
Hmmmm... I see what you are saying, sorry for my prior misunderstanding amaclin Tongue

Sorry. My English is much worse than my math skills  Grin

Your English is great! I was just a dunce Grin
BTCIndia (OP)
Hero Member
*****
Offline Offline

Activity: 686
Merit: 500

vini, vedi, no vici.


View Profile
August 14, 2014, 02:53:39 PM
 #15

Quote
Hmmmm... I see what you are saying, sorry for my prior misunderstanding amaclin Tongue

Sorry. My English is much worse than my math skills  Grin

Dude, you're Russian.  Grin
Now, I know reason for your awesomeness.

He's Nick Sazbo from Washington. I've my answer. Or Hal? :O
BitCoinDream
Legendary
*
Offline Offline

Activity: 2324
Merit: 1204

The revolution will be digital


View Profile
August 14, 2014, 05:24:26 PM
 #16

Quote
Hmmmm... I see what you are saying, sorry for my prior misunderstanding amaclin Tongue

Sorry. My English is much worse than my math skills  Grin

Dude, you're Russian.  Grin
Now, I know reason for your awesomeness.

But he has no post history in Russian section !!!

dashingriddler
Legendary
*
Offline Offline

Activity: 1258
Merit: 1001



View Profile
August 15, 2014, 03:19:22 AM
 #17

From my understanding,

Does 'X' public address always have 'Y' private key - no
Does 'Y' private key always have 'X' public address - yes

CENTRA

            ▄▄▄██████████▄▄▄
        ▄▄████████████████████▄▄
      ▄███████▀▀         ▀▀███████▄
    ▄█████▀                  ▀██████
   █████▀      ▄▄▄█████▄▄      ▀█████▄
  █████     ▄██████████████▄     ▀████▄
 █████     ██████▀▀  ▀▀██████▄    ▀████
▐████     █████          █████     █████
█████    ▐████                     ▐████
█████    █████                     ▐████
█████     █████          ▄████▌    █████
 ████▌    ▀█████▄▄    ▄▄█████▀    ▄████▌
 ▀████▄     ▀██████████████▀     ▄████▀
  ▀█████▄     `▀████████▀▀     ▄█████▀
   `██████▄                  ▄██████
     ▀███████▄▄          ▄▄███████▀
       ▀██████████████████████▀
           ▀▀▀█████████████▀▀

.
.
.
.
BitCoinDream
Legendary
*
Offline Offline

Activity: 2324
Merit: 1204

The revolution will be digital


View Profile
August 16, 2014, 09:44:52 AM
 #18

From my understanding,

Does 'X' public address always have 'Y' private key - no
Does 'Y' private key always have 'X' public address - yes


Unless u mention X > Y or X = Y or X < Y , the above statements are void IMO.

amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
August 16, 2014, 09:49:08 AM
 #19

Quote
Unless u mention X > Y or X = Y or X < Y , the above statements are void IMO.

X and Y are not numbers, but strings
BitCoinDream
Legendary
*
Offline Offline

Activity: 2324
Merit: 1204

The revolution will be digital


View Profile
August 16, 2014, 10:59:06 AM
 #20

Quote
Unless u mention X > Y or X = Y or X < Y , the above statements are void IMO.

X and Y are not numbers, but strings

well... that way Satvik's statement stands correct.

Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!