Ethereum: How can I manually (on paper) calculate a Bitcoin public key from a private key?
Generation and verification of Bitcoin addresses by hand
When it comes to ensuring cryptocurrency transactions, it is essential to generate a unique identifier known as a Bitcoin address. However, manually calculating a public Bitcoin key to a private key can be a discouraging task, especially for those new in cryptography. In this article, we will guide it through the steps to create a paper address on paper using its private key and verify it manually.
Understand Bitcoin’s addresses
A Bitcoin address consists of 34 characters, separated by spaces, scripts or points. The format is as follows: m/0/m/1 /.../ 42/
. For this example, we use a simple public key: 3A9K5DFP1J8KNNF2MQ2X9UEKPJGQEN7
.
Step 1: Manually calculate the public key from the private key
To generate a Bitcoin address manually, you must calculate the public key using your private key. The process implies converting the private key into a hexadecimal chain and then mapping each character to its corresponding public key value.
Here is an example of how to do this for our simple public key 3a9k5dfp1j8knnf2mq2x9uekpjgqen7
:
- Convert private key into a hexadecimal chain:
3A9K5DFP1J8KNNF2MQ2X9UEKPJGQEN7
- Mapee each character at its corresponding public key value:
* 3
Maps to 3 (that is,00000101
)
* E
Maps at 6 (that is,10001110
)
* A
Maps to 1 (that is,00001011
)
* 9
Maps to 15 (that is,11111011
)
* K
maps to 19 (that is,10100101
)
* 5
Maps to 25 (that is,10001110
)
* D
Maps to 23 (that is,10101001
)
*FMaps to 21 (that is,
10101111)
* P
Maps to 17 (that is,11010101
)
*1Maps to 9 (that is,
11100101)
*JMaps to 15 (that is,
11111011)
*8Maps to 13 (that is,
10001111)
*KMaps to 21 (that is,
10101011)
*NMaps to 5 (that is,
10100101)
*NMaps to 7 (that is,
11101111)
*FMaps to 9 (that is,
11100101)
*2Maps to 14 (that is,
10011010)
*MMaps to 19 (that is,
10101001)
*Qmaps to 1 (that is,
00001011)
*2Maps to 12 (that is,
11100111
)
* X
Maps to 23 (that is,10101011
)
* 9
Maps to 25 (that is,10001110
)
* E
Maps to 4 (that is,00010101
)
* K
maps to 19 (that is,10101001
)
*PMaps to 17 (that is,
11010101
)
* J
Maps to 15 (that is,11111011
)
* A
Maps to 1 (that is,00001011
)
* G
Maps to 3 (that is,00000101
)
* Q
maps to 23 (that is,10101011
)
* E
Maps to 4 (that is,00010101
)
* N
Maps to 5 (that is,10100101
)
* 7
maps to 13 (that is,10001111
)
* D
Maps to 19 (that is,10101001
)
* F
Maps to 21 (that is,10101111)
*1Maps to 9 (that is,
11100101)
*JMaps to 15 (that is,
11111011)
*8Maps to 13 (that is,
10001111)
*KMaps to 21 (that is,
10101011)
*NMaps to 5 (that is,
10100101)
*NMaps to 7 (that is,
11101111)
*FMaps to 9 (that is,
11100101)
*2Maps to 14 (that is,
10011010)
*MMaps to 19 (that is,
10101001)
*Qmaps to 1 (that is,
00001011)
*2Maps to 12 (that is,
11100111
)
* X
Maps to 23 (that is,10101011
)
* 9
Maps to 25 (that is,10001110
)
* E
Maps to 4 (that is,00010101
)
* K
maps to 19 (that is,10101001
)
*PMaps to 17 (that is,
11010101
)
* J
Maps to 15 (that is,11111011
)
* A
Maps to 1 (that is,00001011
)
* G
Maps to 3 (that is,00000101
)
* Q
maps to 23 (that is,10101011
)
- Concaten the hexadecimal chain:
003E9K5DFP1J8KNNF2MQ2X9UEKPJGQEN7
Step 2: Check your hand -generated address
To verify your hand -generated address, you can use wallets or online bitcoin tools that support verification. Alternatively, you can manually convert the hexadecimal chain to a private key and re -enter it in its private key.
For this example, suppose you have generated a new public key using its original private password: `3A9K5DFP1J8KNNF2MQ2X9UEKPJGQEN7. You can verify your hand -generated address by entering the hexadecimal chain in your private key.