from what I have read,
a private key is a 256 bit binary number.
private key ----------elliptic curve multiplication-----> public key
public key -----------sha256 + ripemd160 -----------> public key hash
public key hash -------base58 check encoding------> bitcoin address
now according to the above,
2256 private keys are possible
since elliptic curve multiplication produces a unique public key from each private key, an equal number of corresponding public keys are also possible. But, since the public key goes through RIPEMD160, the public key hash has only 20 bytes or 160 bits. Hence only 2160 bitcoin addresses are possible. Does this mean that each bitcoin address may be associated with more than one private key? Since, if each of 2256 public keys produce only 2160 hashes this means more than one public key produces the same public key hash.
I would appreciate if an expert could clarify this matter ?