I hope someone can help me with this… I'm asking in the bitcoin forum b/c question relates to secp256k1 & openssl.
Maybe this answer is not right for you because it's not about openssl. But people without heavy tech background trying to understand how secp256k1 works in ECC could use this guide. It helped me figure out things more or less https://yad.finance/blog/wallet-off-the-wall/
In short, this is what the process looks like:
1) Generate a private key using some degree of randomization. Along the lines of bitaddress.org or similar services.
2) Generate a public key from your private key using ECC (specifically the secp256k1 curve, which is a good fit for Ethereum).
3) Generate a public address out of the public key, which might also consist of generating a compressed public address, then refining this address, etc
Let me know if it helped