Note: There are many areas of security and computer science that fascinate me. Some are so interesting that I make the effort to learn the math and logic behind them. Mathematical logic is probably the area of math that motivates me to study and understand math the most. However, cryptography is not one of those areas. At the risk of seeming not infosec-cool || appsec-cool, or intelligent enough: I find cryptography really f'ing boring. The reasons behind that are likely due to problems I should probably discuss with a therapist and not spend time discussing in a book review, in addition to shitty schools I went to from pre-K to 7th grade. Regardless, I mention that to highlight that I do realize that I am likely not in the target audience for this book.
With that out of the way, I will start my review.
In the preface of the book, the author mentions one of his goals was to "get you excited about crypto and teach you the fundamental concepts along the way." He also mentions that "to do anything and relevant crypto [...] you need a connection to reality." Further, in the "Who This Book is For" section, he describes "a developer who'd been exposed to crypto but still felt clueless and frustrated attempting to read abstruse textbooks and research papers." Nevertheless, I don't believe these goals were accomplished. While I found parts of some chapters illuminating, such as those on block ciphers, authenticated encryption, and TLS, I found most of the book to focus on mathematical details that I found impractical to learn. At times, it felt as if the author started a chapter to focus on practical instruction and fundamentals, but got easily carried away and ended up nerding out on mathethical details. He also includes relatively large code samples with minimal explanations.
Some concepts could have been taught more simply than others. For instance, I initially struggled to understand cipher modes, and I had to search for stripped-down explanations online as the book jumped too quickly from a fundamental explanation to what I perceived to be unnecessary and impractical details.
Overall, I admit this was a difficult book for me to read and stick to, and I often lost motivation to continue reading (and at times my only motivation to continue reading was to get it over with or get to more practical chapters such as the one on TLS). While, as I've mentioned, I am likely not in the target audience due to my disinterest in many details, I think the book reads not as one written by an educator but by someone more used to having discussions on cryptography with other cryptography enthusiasts and researchers.