A private key is just a number picked at random.
The private key is used to generate the public key through an irreversible process.
In the case of Bitcoin the Private key is turned into the Public key through Elliptic Curve Cryptography or ECC for short.
If you lose your private key you can't access your Bitcoins, and if someone else finds it out they can steal them.
A Private key is just a long number and in the case of a Bitcoin it is a number between 1 & 1.158x 10^77. In practice this number is generated using a secure random number generator that is then fed into the SHA-256 hashing algorithm. The SHA-256 hashing algorithm takes a string of numbers and outputs a 256 bit number which then has to be checked to see if it is less than 1.158x 10^77.
When creating your private key most software will do this under the hood, but if you choose certain methods on your own such as 1x10^77 or other certain obvious numbers and then hash via the SHA-256 – hackers can create rainbow tables and match to your private key, public key and address. If you do this and choose a particular phrase you are reducing the entropy or chaos of your choice! Always opt for randomness just to be safe even if the chances are very small.
The point of using Elliptic curve cryptography is to find a method whereby you can create a Bitcoin Public Key easily Bitcoin Private Key but not the reverse – i.e. find the Bitcoin Private Key from its Public Key.
This is due to the discrete logarithm problem for elliptic curves, where the best mathematical solutions to break elliptic curve cryptography have to take step proportional to 2n/2 , where n is the length of the number which the Bitcoin key has to below (1.158x 10^77) (also known as the field size the curve is based on for modular arithmetic).
In practice this means that a hacker would need 21^28 calculations to break elliptic curve cryptography based on Bitcoins specifications. Using a million CPU’s this would take about 260 billion times the age of the universe – a heck of a long time.
The public bitcoin key that is produced by elliptic curve cryptography is actually a point with x and y coordinates. To see why have a look at our in depth guide to Elliptic curve cryptography.
- How to create a Bitcoin address from a Public Key?
- What is Elliptic Curve Cryptography?
- How do digital signatures in Bitcoin work?
- How does a hashing algorithm work?
- Bitcoin Transactions – Scriptsig and Scriptpubkey – locking and unlocking a transaction?
- What is a Bitcoin Fork?
- How does the Bitcoin Network actually work?