-
Notifications
You must be signed in to change notification settings - Fork 0
Home
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;
- Take the private key which will be used to generate the public key by the ECDSA algorithm.
- 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.
- 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.
- Add a version byte to the front of the hash output-usually 0X00 will be added.
- Perform SHA-256 hash algorithm to the output of the previous point.
- Take the previous stage as an input to perform SHA-256 one more time.
- Extract the first four bytes of the output from the hash value as the address checksum.
- Take the address checksum value and append it to the point number.
- Convert the output to Base58Check Encoding to get the address.
I used Magma to implement it.