private key is a random number. It is a
256 bit number.
It is used as the source of a
Generate a Private Key
All you need to generate a private key is a reliable source of randomness.
An easy source of randomness on a Linux computer is
/dev/urandom, which provides random bits of data from your computer. All you need to do is read from it:
A private key can be almost any 256-bit number.
When you create a public key, your private key is put through a special mathematical function, and this function can only handle numbers up to just below 256 bits. The maximum value is:
max = 115792089237316195423570985008687907852837564279074904382605163141518161494337
So when you generate a 256 bit number, you will want to check that it’s below this maximum value.
A hexadecimal private key is 32 bytes (64 characters):
If you’re generating private keys for your own personal use, this is all you really need.