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.<p>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] =).<p>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.<p>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.<p>[1] <a href="https://www.shoup.net/ntb/" rel="nofollow">https://www.shoup.net/ntb/</a><p>[2] <a href="https://www.google.com/search?rlz=1C5CHFA_enUS851US851&ei=z0OlXr3iMrLA0PEPv4mGOA&q=solutions+for+A+Computational+Introduction+to+Number+Theory+and+Algebra&oq=solutions+for+A+Computational+Introduction+to+Number+Theory+and+Algebra&gs_lcp=CgZwc3ktYWIQAzoECAAQR1ClB1iXCWCDDGgAcAJ4AIABO4gBdpIBATKYAQCgAQGqAQdnd3Mtd2l6&sclient=psy-ab&ved=0ahUKEwj9hejv04XpAhUyIDQIHb-EAQcQ4dUDCAw&uact=5" rel="nofollow">https://www.google.com/search?rlz=1C5CHFA_enUS851US851&ei=z0...</a><p>[3] <a href="https://crypto.stanford.edu/~dabo/cs255/" rel="nofollow">https://crypto.stanford.edu/~dabo/cs255/</a>