A Graduate Course in Applied Cryptography
This is hands down the best book on applied crypto, especially for people who want to self-learn crypto. I started reading it since version 0.1, but every time I pick it up I learn something new.The fun application section in each chapter is pure gold. The exercises are challenging but super rewarding. I can't do many of them, but reading the problem statements is usually enough to make me realize I don't understand something.When I started learning crypto, I spent a lot of time reading A Computational Introduction to Number Theory and Algebra [1] another free, high-quality book by Shoup. I did a lot of exercises, even corrected some results in the book, and at one point thought that I wanted to publish a solution manual. I emailed professor Shoup, but he said it may not be a good idea because people would copy my solutions for their homework. It turns out he's right. The blog posts that I published still get hit from time to time, and the search keyword is always solutions for NTB [2] =).Later on, I took CS255 [3] from Boneh. I had to pay for it myself. IIRC it was $4,000 or something. It was a huge amount of money where I'm from. I took an overdraft from my bank to pay for it, the best money I ever spent! I still remember in one of the classes when Boneh was talking about the Diffie-Hellman protocol he paused to ask us, "Do you know where this was invented?" Nobody knows, then he pointed to his left and said, "In a room a few yards from here". I felt like I was part of this amazing history. There's a stream of knowledge flowing through me and maybe one day I'd discover something cool.Boneh is simply the best teacher. He knows everything. I like it when he poses an open problem, and ends with "if you can solve this, I'll be a friend forever". He doesn't just love teaching, but also knows how to inspire and apparently can't stop explaining things.[1] https://www.shoup.net/ntb/[2] https://www.google.com/search?rlz=1C5CHFA_enUS851US851&ei=z0...[3] https://crypto.stanford.edu/~dabo/cs255/