Post
Topic
Board Development & Technical Discussion
Topic OP
Bitcoin address and hash theory questions
by
falcoiii
on 31/03/2013, 18:10:03 UTC

I have done a bit of homework and have a CS/math degree.  My field is not crypto, but I know about fields, groups, graph theory and SHA-256.  Any answers, review or corrections of my questions would be appreciated.

What is the maximum number of private addresses?

2^96  --  https://bitcointalk.org/index.php?topic=24268.0

and "almsot 2^256"   --   https://en.bitcoin.it/wiki/Private_key


What is the maximum number of public addresses?

Only max found is 2^192 from  --   https://en.bitcoin.it/wiki/Private_key

25 byte public address  minus 1 byte for 00 hardcoded first byte  --  2 ^ ( 24*8 )


Has it been proven that there will be no hash-collisions where 2 private addresses share the same public address?


No info found.


What is the process to create a private and public address ?

The address creation process looks like a random private first, then generate public address from the private...

It looks like there are Process to create a public address from a private address:

3 SHA-256 hashes and 1 RIPEMD-160 hash, plus some other simple manipulation.

https://en.bitcoin.it/wiki/Technical_background_of_Bitcoin_addresses


Assuming a public key is generated from a private key, how does it computationally compare to block creation?

Creating a block needs 2x SHA-256.
Creating a public key needs 3x SHA-256 + 1 RIPEMD-160.
RIPEMD-160 is 2xMD4 hash, each of which is less than or equal to a SHA-256  hash

Thus a public key is ~ 5 hashes and a block is ~2 hashes.