To derive Bitcoin Address from a given private key:
First you calculate the public key of a given private key using elliptic curve multiplication.
Then, you take the public key and apply it through 2 hash functions, SHA256() and RIPEMD260(), and you’ll get A’:
A = RIPEMD260(SHA256((Public Key))
Then, calculate double-SHA checksum of A:
checksum = SHA256(SHA256(version prefix + A))
where ‘+’ denotes concatenation.
Then, append first 4-byte of the above checksum to A:
A = version prefix + A + checksum.
Lastly, turn 'A into Base58Check encoding (which allows these characters: ‘123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz’)
Bitcoin Address = Base58Check(A)
For details, please see:
Chapter 4. Keys, Addresses, Wallets
by Andreas M. Antonopoulos
Published by O’Reilly Media, Inc., 2014