Oliver Gugger
Full Stack Engineer at Puzzle ITC
github.com/guggero
@gugol
slides: https://gugger.guru
Don't worry! This is a high-level overview for engineers and coders.
- Elliptic curves (ECC / ECDSA)
- Hashing (SHA, RIPEMD)
- Geometry based one-way function
- Can be used for key exchange (ECDH) and signatures (ECDSA)
- Shorter key size compared to RSA
(256bit ECC ≃ 3072bit RSA)
- Collision resistant, constant-size fingerprint
- SHA256 extensively used in Bitcoin
- RIPEMD160 as a secondary safety net for addresses
- Web Crypto API (browser)
- bitcoinjs-lib (github.com/bitcoinjs/bitcoinjs-lib)
- 2256 ≃ 1077 addresses
(universe has ~1080 atoms) - Bitcoin Mining: ~76bit in 10 minutes
- Use secure "randomness"
- Be very careful with browser RNGs!
- Hierarchical Deterministic (HD) wallets
- Merkle Trees
- HMAC
- PBKDF2