# Roll your own crypto

## Roll your own crypto

- [Roll your own crypto\* 🔮](https://onyb.gitbook.io/roll-your-own-crypto/master.md): We'll learn how elliptic curve cryptography works under the hood, and implement the secp256k1 signature scheme used in Bitcoin and Ethereum, from scratch in Python.
- [Introduction to ECC](https://onyb.gitbook.io/roll-your-own-crypto/introduction.md)
- [Galois Fields](https://onyb.gitbook.io/roll-your-own-crypto/galois-fields.md)
- [Elliptic Curve in Python](https://onyb.gitbook.io/roll-your-own-crypto/finite-field-in-python.md)
- [Representing a point](https://onyb.gitbook.io/roll-your-own-crypto/representing-a-point.md)
- [Group Theory](https://onyb.gitbook.io/roll-your-own-crypto/group-theory.md)
- [Point Addition in Python](https://onyb.gitbook.io/roll-your-own-crypto/point-addition-in-python.md)
- [Scalar Multiplication in Python](https://onyb.gitbook.io/roll-your-own-crypto/scalar-multiplication-in-python.md)
- [ECDSA](https://onyb.gitbook.io/roll-your-own-crypto/ecdsa.md): Elliptic Curve Digital Signature Algorithm
- [Quiz: The Playstation 3 Hack](https://onyb.gitbook.io/roll-your-own-crypto/the-playstation-3-hack.md): aka The Nonce Reuse Attack
- [Conclusion](https://onyb.gitbook.io/roll-your-own-crypto/conclusion.md)
