I understand that another question posted has mentioned that the keystore has aes-128-ctr encryption: What is the strength of Mist wallet encryption?

Key Derivation Function uses scrypt (where the underlying function uses SHA256?), then we have ECDSA for creating private keys. Where does secp256k1 come in?

I don't have a lot of knowledge in the cryptography or which libraries are used for hash/encryption but looking through the source code for the keystore and keys, can anyone explain the steps on how the keys & the keystores are being generated for Ethereum?

  • By keys do you mean wallet addresses, and the secret keys? Jun 16, 2017 at 6:54
  • I'm looking at understanding how the private, public keys and the wallet are being generated using the different cryptographic libraries. (The documents don't provide much information on these)
    – Brandon
    Jun 16, 2017 at 6:59
  • Here is a great explanation how addresses are generated ethereum.stackexchange.com/questions/3542/…
    – Ismael
    Jun 16, 2017 at 7:03
  • ECDSA is used to sign & verify transactions.
    – Ismael
    Jun 16, 2017 at 7:07
  • Thanks, the link to the other question made it very clear to me :)
    – Brandon
    Jun 16, 2017 at 13:10

1 Answer 1


Ethereum and Bitcoin Wallet addresses use ECDSA - Elliptic Curve Digital Signature algorithm (a type of asymmetric key encryption that requires lesser compute than RSA). secp256k1 is the curve definition used by this algorithm. You can generate an address for yourself using the process detailed here. https://kobl.one/blog/create-full-ethereum-keypair-and-address/

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.