Ethereum accounts
To create an Ethereum account, we just need an asymmetric key pair. There are various algorithms, such as RSA, ECC, and so on, for generating asymmetric encryption keys. Ethereum uses elliptic curve cryptography (ECC). ECC has various parameters. These parameters are used to adjust speed and security. Ethereum uses the secp256k1
parameter. To go in depth about ECC and its parameters will require mathematical knowledge, and it's not necessary to understand it in depth for building DApps using Ethereum.
Ethereum uses 256-bit encryption. An Ethereum private/public key is a 256-bit number. As processors cannot represent such big numbers, it's encoded as a hexadecimal string of length 64.
Every account is represented by an address. Once we have the keys we need to generate the address, here is the procedure to generate the address from the public key:
- First, generate the
keccak-256
hash of the public key. It will give you a 256-bit number. - Drop the first 96 bits, that is, 12 bytes...