Skip to content
Abdullah Hamdan edited this page Nov 26, 2018 · 1 revision

Welcome to the Cryptographic-Implementation-of-Bitcoin-Addressing-Type1 wiki!

This type of Bitcoin relays mainly on three algorithms to generate the bitcoin address. ECDSA, SHA-256 and Base58Check encoding. The following steps show how the process works;

  1. ​ Take the private key which will be used to generate the public key by the ECDSA algorithm.
  2. Figure out the corresponding public key generated by the ECDSA- the output length will be 65 bytes, 1 byte is 0X04, the next 32 bytes will be the X position of the elliptic curve point, the final 32 bytes will be the Y position of the same points.
  3. Apply SHA-256 hashing algorithm on the key, the output will be 256 1bytes always. 4.​ Perform RIPEMD-160 hashing function to the given result from the previous process.
  4. Add a version byte to the front of the hash output-usually 0X00 will be added. ​
  5. Perform SHA-256 hash algorithm to the output of the previous point.
  6. Take the previous stage as an input to perform SHA-256 one more time.
  7. Extract the first ​ four​ bytes of the output from the hash value as the ​ address checksum​.
  8. Take the address checksum value and append it to the​ point number.
  9. Convert the output to Base58Check Encoding ​ to get the address​.

I used Magma to implement it.

Clone this wiki locally