why every bitcoin public address have 2^96 private key
Because with a version 1 P2PKH address there are approximately
2256 unique private-public key pairs. An address is based on a RIPEMD160 HASH of the public key (actually a RIPEMD160 HASH of a SHA256 HASH of a public key) resulting in
2160 unique version 1 P2PKH addresses.
2
256 keys divided by 2
160 addresses equals an average of about 2
96 private keys PER address.
and how can i find my (2^96- 1) private key for my bitcoin public address?
To find just 1 of those private keys...
- Acquire access to enough computing power to calculate addresses from 1010 private keys per second.
- Run that computing power continuously for (on average) 2.3 * 1030 years
To find ALL of those private keys...
- Acquire access to enough computing power to calculate addresses from 1010 private keys per second.
- Run that computing power continuously for (on average) 1.8 * 1059 years
Alternatively...
- Study advanced mathematics
- Become the top expert in the entire world in the mathematics related to ECDSA, SHA256, and RIPEMD160
- Discover a mathematical weakness that nobody else in the world has ever discovered related to those algorithms
- Use that mathematical weakness to calculate your private keys
since Elliptical curve private key and public key has 1:1 ratio, and that public key is encoded & hashed with some operation to get bitcoin public address.
Correct.
also is it possible to encrypt message with bitcoin public address and then decrypt with private key which is generated by ECC.
Don't bother. It's not worth the effort. There are better systems to encrypt and decrypt messages. I believe that some have created some software to do it, but I wouldn't use any of it.