Which cryptographic algorithm is used to generate Ethereum addresses from public keys?

The story behind the answer

Ethereum uses Keccak-256 to derive addresses from public keys.

After an Ethereum account’s public key is obtained, the protocol hashes it with Keccak-256. The final 20 bytes of that hash form the account address, conventionally written as a 40-character hexadecimal string with a “0x” prefix.

Ethereum’s Keccak-256 is closely related to SHA-3, but it is not exactly the finalized SHA-3 standard. The difference comes from padding rules adopted during standardization. This is a frequent source of confusion: software labelled SHA3-256 may not produce the same result as Ethereum’s Keccak-256.

An Ethereum address does not itself reveal whether it belongs to a user-controlled account or a smart contract. Both types use the same address format, and ownership or control depends on the corresponding private key or contract code.

Source: Wikipedia · fact-checked Sept. 2026

Add question to a list

Choose a list to keep this question in: