Homework 2: Wallet Seed to Ethereum Address

Hashing, Key Derivation and Cryptographic Primitives

← Torna alla Home

The Ethereum Wallet Pipeline

Click on each step to reveal the cryptographic processes and roles.

BIP-39
Mnemonic
→
BIP-32 / 44
Private Key
→
secp256k1
Public Key
→
Keccak-256
Raw Address
→
EIP-55
Checksum Address

1. Mnemonic Generation (BIP-39)

Concept: Key Generation & Encoding. High-entropy random data (128-256 bits) is generated and encoded into human-readable words (12-24 words) using a standard dictionary. This provides a user-friendly backup. The mnemonic is then converted into a 512-bit seed via PBKDF2 (key stretching).

Cryptographic Distinctions

Key Generation vs. Key Derivation

Generation (BIP-39): Creating raw entropy from a true random number generator. It happens once.
Derivation (BIP-32/44): Deterministically calculating mathematical child keys from a master parent key using hash functions. If you have the parent, you can always recover the children.

Hashing vs. Public-Key Crypto

Public-Key Crypto (secp256k1): Asymmetric cryptography. It works in pairs (Private/Public) and allows digital signatures. Reversing is hard due to ECDLP, but structured.
Hashing (Keccak-256): A one-way algorithmic grinder. Takes any input and destroys structure to produce a fixed-length output. Used to hide the public key.

Checksums vs. Encoding

Encoding changes the format of data for representation (e.g., Hexadecimal `0x` turns bits into readable characters). A Checksum (EIP-55) introduces redundancy to detect errors: it uses the Keccak hash of the address itself to capitalize certain letters, ensuring a typo immediately invalidates the address.

Temporal & Historical Context

1977 - RSA
Introduction of practical public-key cryptography (factoring large primes).
2001 - SHA-2 / SHA-512
NIST standardizes the SHA-2 family. Still widely used (Bitcoin uses SHA-256).
2012 - BIP-32
Hierarchical Deterministic (HD) wallets introduced for Bitcoin.
2013 - BIP-39
Mnemonic codes introduced, replacing raw hex backups with English words.
2014 - BIP-44
Standardized derivation paths (multi-coin, multi-account structures).
2015 - SHA-3 (NIST)
NIST officially standardizes SHA-3, based on the Keccak algorithm.
2016 - EIP-55
Vitalik Buterin proposes mixed-case Ethereum addresses for typo protection.

SHA-3 vs Keccak-256

While historically related, they are not identical.

Why Multiple Techniques? (Separation of Concerns)

Why not use one algorithm? Because each step solves a different problem with specific statistical requirements: