Post
Topic
Board Development & Technical Discussion
Topic OP
Generating Private Keys with OpenSSL in Bitcoin’s Early Days – Methods and Histo
by
bozalic
on 07/03/2025, 09:03:51 UTC
Title:




Hello Bitcointalk members,

I am conducting research on the methods used to generate private keys in Bitcoin’s early days. How did Satoshi Nakamoto and early miners generate Bitcoin-compatible private keys? I would like to initiate a technical discussion on using OpenSSL and other cryptographic tools for both deterministic and random private key generation.

As you know, Bitcoin private keys are 256-bit random numbers derived using the secp256k1 curve. However, there are some discussions and speculations regarding how OpenSSL was used in the early days of Bitcoin.

We could discuss the following questions:

1. Was it possible to generate private keys using OpenSSL in Bitcoin’s early days?


2. Which algorithms and methods were preferred in the OpenSSL versions used at the time?


3. Which hash functions or HMAC techniques might have been used for deterministic Bitcoin private key generation?


4. What sources of entropy might Satoshi or early miners have used?


5. Are there any previous discussions on Bitcointalk regarding deterministic private key generation in Bitcoin’s early days?



Example: Generating a Private Key Using OpenSSL

Today, we can generate a Bitcoin-compatible private key using OpenSSL with the following commands:

openssl ecparam -genkey -name secp256k1 -noout -out private-key.pem
openssl ec -in private-key.pem -text -noout

This command creates an ECDSA private key based on the secp256k1 curve. However, additional methods may be required for deterministic private key generation. For instance:

Is it possible to generate the same key every time using a message or a specific hash value?

Could deterministic private key derivation in Bitcoin’s early days have involved HMAC, PBKDF2, or SHA-256 techniques?

What role did older versions of OpenSSL play in this process?


I have conducted research on Bitcointalk and other forums but have not yet found a conclusive answer. If you have old discussions, documents, or sources on this topic, could you share them?

I am eager to learn more about private key generation in Bitcoin’s early days. Do you think Satoshi or early miners used a specific method, or did each individual develop their own approach?

Let’s explore this through historical documentation and technical discussions. Please share any interesting findings you may have.

Thank you!