Looks like a solid survey of the state of the art, as one would expect from Boneh and Shoup. Given that this is about <i>applied</i> crypto, I would like to see a chapter or sub-chapter devoted to discussing the usability of some real world cryptosystems and their implications. I think it’s something of a “black art” in crypto, but often ends up with as large a practical impact in practice as what crypto algorithms are being used. Would be nice to see it treated with the same kind of rigor as the more technical aspects of cryptography.
For hands-on learning of applied cryptography, there is also the delightful <a href="https://cryptopals.com/" rel="nofollow">https://cryptopals.com/</a>.
This is actually so cool. I find it amazing that such a high quality resource is available for free. When you think about the potential the Internet has to democratize knowledge books like this are really the perfect example of that. I appreciate the authors for sharing their knowledge. Definitely going to take the time to read this when I'm through some of the other books I'm reading
Also I can highly recommend the lectures from Christof Paar <a href="https://www.youtube.com/channel/UC1usFRN4LCMcfIV7UjHNuQg" rel="nofollow">https://www.youtube.com/channel/UC1usFRN4LCMcfIV7UjHNuQg</a> and his textbook <a href="http://www.crypto-textbook.com/" rel="nofollow">http://www.crypto-textbook.com/</a>
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>
This looks really advanced. When I looked at the TOC, I thought "Oh that looks great, I can spend a weekend or two on this." Little did I know the book has 900 pages. Wow.<p>Anything you'd recommend as a practical introduction? Materials that are useful for an every-day software engineer?
Thank you very much for the open book. It is very helpful!<p>But I cannot find Chapter 1 in the pdf downloaded. So Historic ciphers/Terminology used throughout the book are missing. Can you please check it out?