# Books for Cryptography and Blockchain

Learning cutting-edge research areas through books

## Table of Contents

I will use the following colors to show my progress with the books:

- 🔵 Blue means that I have read the book.
- 🔴 Red means that I am in progress.
- ⚫ Black means that I have not started yet but I am willing to.

## Mathematical Background

- ⚫ A Computational Introduction to Number Theory and Algebra [2008] - Victor Shoup
- 🔵 Abstract Algebra: Theory and Applications [2021] - Thomas W. Judson (This book is updated yearly)

## Cryptography

### Pure Cryptography

- 🔵 Handbook of Applied Cryptography [2001] - Menezes
- 🔵 Understanding Cryptography: A Textbook for Students and Practitioners [2010] - Christof Paar and Jan Pelzl. Video lectures are available here
- ⚫ An Introduction to Mathematical Cryptography [2010] - Many Authors
- 🔵 Cryptography Made Simple [2015] - Nigel Smart
- 🔵 A Course in Cryptography [2019] - Heiko Knospe
- 🔴 A Graduate Course in Applied Cryptography [2020] - Dan Boneh and Victor Shoup (This book will be updated, it is in version 0.5)
- 🔴 Real-World Cryptography [2021] - David Wong

### Applications

- ⚫ Self-Sovereign Identity: Decentralized digital identity and verifiable credentials [2001] - Alex Preukschat and Drummond Reed
- ⚫ Cryptography Algorithms: A guide to algorithms in blockchain, quantum cryptography, zero-knowledge protocols, and homomorphic encryption [2022] - Massimo Bertaccini

### Elliptic Curve Cryptography

- 🔴 Elliptic Curves: Number Theory and Cryptography [2008] - Lawrence Washington
- 🔴 Pairings for Beginners [2012] - Craig Costello

### Zero-Knowledge Proofs

- ⚫ Bringing Zero-Knowledge Proofs of Knowledge to Practice [2012] - Stephan Krenn
- 🔴 Proofs, Arguments, and Zero-Knowledge [2022] - Justin Thaler (This book is not in final form)
- 🔴 ZKProof Community Reference v0.3 [2022] - Community

## Blockchain

### Theory

- 🔵 Bitcoin and Cryptocurrency Technologies: A Comprehensive Introduction [2016] - Many Authors
- 🔵 Mastering Bitcoin: Programming the Open Blockchain [2016] - Andreas M. Antonopoulos (second version of the book). The have created a Coursera course here
- 🔵 Mastering Ethereum: Building Smart Contracts and Dapps [2018] - Andreas M. Antonopoulos and Gavin Wood (they are working in the second version)
- 🔵 Mastering Monero: The future of private transactions [2018] - SerHack

### Solidity

- 🔴 Ethernaut - Learn by hacking smart contracts
- ⚫ CryptoZombies - Learn by building simple games

## Computer Science

- 🔵 Computational Complexity: A Modern Approach [2009] - Sanjeev Arora and Boaz Barak
- 🔵 Introduction to the Theory of Computation [2012] - Michael Sipser (Third edition)

## Probability

- 🔵 A First Course in Probability [2013] - Sheldon Ross (Ninth edition)
- 🔵 Probability Cheat Sheet [2022] - Geoffroy Couteau

## Recreational

- 🔵 The Humble Programmer [1972] - Edsger Dijkstra
- ⚫ The Codebreakers: The Comprehensive History of Secret Communication from Ancient Times to the Internet [1997] - David Kahn
- 🔵 The Code Book: The Science of Secrecy from Ancient Egypt to Quantum Cryptography [2000] - Simon Singh