Hacker News new | ask | show | jobs
by imjonse 911 days ago
While the fundamentals are always relevant, IIRC this book has been dated even 10 years ago, when Schneier's Cryptography Engineering was already recommended instead if you wanted practical advice.

For a more theoretically backed approach Dan Boneh's book ( https://toc.cryptobook.us/ ) is a very good resource.

3 comments

Personally, I feel that HAC has aged surprisingly well compared to other books of that era. It’s focus on theory and fundamentals helps there. I still think it has some of the best introductions to cryptography topics. But, yes, read it in combination with a newer resource like Coursera’s Crypto I course, or Serious Cryptography by Aumasson. (I wouldn’t recommend the Boneh/Shoup book for newcomers. It is still very much a draft).
Dan Boneh is great - his lecture series on Youtube is wonderful.

A book I enjoyed a lot, that straddles the line between approachable and theoretical with a focus on implementation, is Serious Cryptography by Jean-Philippe Aumasson (one of the people behind blake2/3, amongst other things): https://nostarch.com/seriouscrypto

I wonder if Cryptography Engineering, while updated, is a good book as Applied Cryptography, that really was a pretty inspired one.
IIRC the issue with Applied Cryptography was that while it was the best resource for learning the math behind different crypto systems work and how to implement different algorithms it gave almost no guidance about how to actually use them in the real world. Which led to a lot of people deploying insecure systems based on just reading AC.

My understanding is that Cryptography Engineering and Practical Cryptography address this and focus on using crypto in the real world rather than mathematics and theory.

> it gave almost no guidance about how to actually use them in the real world

This is funny, because an old buddy of mine who did a brief stint at the NSA let slip that they almost never compromise the algorithm, it's virtually always the implementation where the weakness lies.

The obligatory xlcd reference https://xkcd.com/538/.

Always the easiest path, defeat the implementation.